three-stdlib 2.35.4 → 2.35.5

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 (514) hide show
  1. package/_polyfill/CapsuleGeometry.cjs +17 -20
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +17 -20
  4. package/_polyfill/CapsuleGeometry.js.map +1 -1
  5. package/_polyfill/constants.cjs +1 -1
  6. package/_polyfill/constants.cjs.map +1 -1
  7. package/_polyfill/constants.js +1 -1
  8. package/_polyfill/constants.js.map +1 -1
  9. package/animation/AnimationClipCreator.cjs +13 -13
  10. package/animation/AnimationClipCreator.cjs.map +1 -1
  11. package/animation/AnimationClipCreator.js +13 -13
  12. package/animation/AnimationClipCreator.js.map +1 -1
  13. package/animation/CCDIKSolver.cjs +11 -11
  14. package/animation/CCDIKSolver.cjs.map +1 -1
  15. package/animation/CCDIKSolver.js +12 -12
  16. package/animation/CCDIKSolver.js.map +1 -1
  17. package/animation/MMDAnimationHelper.cjs +1 -1
  18. package/animation/MMDAnimationHelper.cjs.map +1 -1
  19. package/animation/MMDAnimationHelper.js +1 -1
  20. package/animation/MMDAnimationHelper.js.map +1 -1
  21. package/animation/MMDPhysics.cjs +4 -4
  22. package/animation/MMDPhysics.cjs.map +1 -1
  23. package/animation/MMDPhysics.js +4 -4
  24. package/animation/MMDPhysics.js.map +1 -1
  25. package/controls/ArcballControls.cjs +2 -2
  26. package/controls/ArcballControls.cjs.map +1 -1
  27. package/controls/ArcballControls.js +3 -3
  28. package/controls/ArcballControls.js.map +1 -1
  29. package/controls/FirstPersonControls.cjs +1 -1
  30. package/controls/FirstPersonControls.cjs.map +1 -1
  31. package/controls/FirstPersonControls.js +1 -1
  32. package/controls/FirstPersonControls.js.map +1 -1
  33. package/controls/OrbitControls.cjs +2 -2
  34. package/controls/OrbitControls.cjs.map +1 -1
  35. package/controls/OrbitControls.js +3 -3
  36. package/controls/OrbitControls.js.map +1 -1
  37. package/controls/PointerLockControls.cjs +2 -2
  38. package/controls/PointerLockControls.cjs.map +1 -1
  39. package/controls/PointerLockControls.js +3 -3
  40. package/controls/PointerLockControls.js.map +1 -1
  41. package/csm/CSM.cjs +4 -4
  42. package/csm/CSM.cjs.map +1 -1
  43. package/csm/CSM.js +5 -5
  44. package/csm/CSM.js.map +1 -1
  45. package/csm/CSMFrustum.cjs +1 -1
  46. package/csm/CSMFrustum.cjs.map +1 -1
  47. package/csm/CSMFrustum.js +2 -2
  48. package/csm/CSMFrustum.js.map +1 -1
  49. package/deprecated/Geometry.cjs +715 -722
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +716 -723
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +1 -2
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +2 -3
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +1 -2
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +2 -3
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +1 -2
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +2 -3
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +122 -133
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +21 -23
  68. package/exporters/DRACOExporter.js +122 -133
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +167 -170
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +167 -170
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +515 -524
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +515 -524
  77. package/geometries/LightningStrike.js.map +1 -1
  78. package/geometries/RoundedBoxGeometry.cjs +1 -1
  79. package/geometries/RoundedBoxGeometry.cjs.map +1 -1
  80. package/geometries/RoundedBoxGeometry.js +2 -2
  81. package/geometries/RoundedBoxGeometry.js.map +1 -1
  82. package/helpers/RaycasterHelper.cjs +2 -2
  83. package/helpers/RaycasterHelper.cjs.map +1 -1
  84. package/helpers/RaycasterHelper.js +3 -3
  85. package/helpers/RaycasterHelper.js.map +1 -1
  86. package/helpers/VertexNormalsHelper.cjs +3 -3
  87. package/helpers/VertexNormalsHelper.cjs.map +1 -1
  88. package/helpers/VertexNormalsHelper.js +4 -4
  89. package/helpers/VertexNormalsHelper.js.map +1 -1
  90. package/helpers/VertexTangentsHelper.cjs +2 -2
  91. package/helpers/VertexTangentsHelper.cjs.map +1 -1
  92. package/helpers/VertexTangentsHelper.js +3 -3
  93. package/helpers/VertexTangentsHelper.js.map +1 -1
  94. package/interactive/InteractiveGroup.cjs +1 -1
  95. package/interactive/InteractiveGroup.cjs.map +1 -1
  96. package/interactive/InteractiveGroup.js +2 -2
  97. package/interactive/InteractiveGroup.js.map +1 -1
  98. package/interactive/SelectionBox.cjs +15 -15
  99. package/interactive/SelectionBox.cjs.map +1 -1
  100. package/interactive/SelectionBox.js +16 -16
  101. package/interactive/SelectionBox.js.map +1 -1
  102. package/libs/chevrotain.cjs +1 -1
  103. package/libs/chevrotain.cjs.map +1 -1
  104. package/libs/chevrotain.js +1 -1
  105. package/libs/chevrotain.js.map +1 -1
  106. package/libs/lottie.cjs +1 -1
  107. package/libs/lottie.cjs.map +1 -1
  108. package/libs/lottie.js +1 -1
  109. package/libs/lottie.js.map +1 -1
  110. package/libs/opentype.cjs +1 -1
  111. package/libs/opentype.cjs.map +1 -1
  112. package/libs/opentype.js +1 -1
  113. package/libs/opentype.js.map +1 -1
  114. package/lights/LightProbeGenerator.cjs +5 -5
  115. package/lights/LightProbeGenerator.cjs.map +1 -1
  116. package/lights/LightProbeGenerator.js +5 -5
  117. package/lights/LightProbeGenerator.js.map +1 -1
  118. package/lights/RectAreaLightUniformsLib.cjs +3 -3
  119. package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
  120. package/lights/RectAreaLightUniformsLib.js +3 -3
  121. package/lights/RectAreaLightUniformsLib.js.map +1 -1
  122. package/lines/LineMaterial.cjs +1 -2
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +2 -3
  125. package/lines/LineMaterial.js.map +1 -1
  126. package/lines/LineSegments2.cjs +13 -13
  127. package/lines/LineSegments2.cjs.map +1 -1
  128. package/lines/LineSegments2.js +14 -14
  129. package/lines/LineSegments2.js.map +1 -1
  130. package/lines/LineSegmentsGeometry.cjs +2 -2
  131. package/lines/LineSegmentsGeometry.cjs.map +1 -1
  132. package/lines/LineSegmentsGeometry.js +3 -3
  133. package/lines/LineSegmentsGeometry.js.map +1 -1
  134. package/lines/Wireframe.cjs +3 -3
  135. package/lines/Wireframe.cjs.map +1 -1
  136. package/lines/Wireframe.js +4 -4
  137. package/lines/Wireframe.js.map +1 -1
  138. package/loaders/BasisTextureLoader.cjs +435 -441
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +435 -441
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +1 -2
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +2 -3
  145. package/loaders/EXRLoader.js.map +1 -1
  146. package/loaders/FBXLoader.cjs +2 -2
  147. package/loaders/FBXLoader.cjs.map +1 -1
  148. package/loaders/FBXLoader.js +2 -2
  149. package/loaders/FBXLoader.js.map +1 -1
  150. package/loaders/FontLoader.cjs +2 -2
  151. package/loaders/FontLoader.cjs.map +1 -1
  152. package/loaders/FontLoader.d.ts +2 -2
  153. package/loaders/FontLoader.js +2 -2
  154. package/loaders/FontLoader.js.map +1 -1
  155. package/loaders/GLTFLoader.cjs +2 -2
  156. package/loaders/GLTFLoader.cjs.map +1 -1
  157. package/loaders/GLTFLoader.js +2 -2
  158. package/loaders/GLTFLoader.js.map +1 -1
  159. package/loaders/KTX2Loader.cjs +374 -377
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +374 -377
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +4 -5
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +5 -6
  166. package/loaders/LDrawLoader.js.map +1 -1
  167. package/loaders/OBJLoader.cjs +5 -5
  168. package/loaders/OBJLoader.cjs.map +1 -1
  169. package/loaders/OBJLoader.js +6 -6
  170. package/loaders/OBJLoader.js.map +1 -1
  171. package/loaders/PRWMLoader.cjs +43 -46
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +43 -46
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1688 -1694
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1688 -1694
  178. package/loaders/SVGLoader.js.map +1 -1
  179. package/loaders/XLoader.cjs +1 -1
  180. package/loaders/XLoader.cjs.map +1 -1
  181. package/loaders/XLoader.js +1 -1
  182. package/loaders/XLoader.js.map +1 -1
  183. package/math/Capsule.cjs +3 -3
  184. package/math/Capsule.cjs.map +1 -1
  185. package/math/Capsule.js +3 -3
  186. package/math/Capsule.js.map +1 -1
  187. package/math/ColorConverter.cjs +9 -9
  188. package/math/ColorConverter.cjs.map +1 -1
  189. package/math/ColorConverter.js +9 -9
  190. package/math/ColorConverter.js.map +1 -1
  191. package/math/ConvexHull.cjs +50 -53
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +50 -53
  194. package/math/ConvexHull.js.map +1 -1
  195. package/math/ImprovedNoise.cjs +1 -1
  196. package/math/ImprovedNoise.cjs.map +1 -1
  197. package/math/ImprovedNoise.js +1 -1
  198. package/math/ImprovedNoise.js.map +1 -1
  199. package/math/MeshSurfaceSampler.cjs +2 -2
  200. package/math/MeshSurfaceSampler.cjs.map +1 -1
  201. package/math/MeshSurfaceSampler.js +2 -2
  202. package/math/MeshSurfaceSampler.js.map +1 -1
  203. package/math/OBB.cjs +14 -14
  204. package/math/OBB.cjs.map +1 -1
  205. package/math/OBB.js +15 -15
  206. package/math/OBB.js.map +1 -1
  207. package/math/Octree.cjs +7 -7
  208. package/math/Octree.cjs.map +1 -1
  209. package/math/Octree.js +8 -8
  210. package/math/Octree.js.map +1 -1
  211. package/misc/ConvexObjectBreaker.cjs +268 -271
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +269 -272
  214. package/misc/ConvexObjectBreaker.js.map +1 -1
  215. package/misc/Gyroscope.cjs +6 -6
  216. package/misc/Gyroscope.cjs.map +1 -1
  217. package/misc/Gyroscope.js +7 -7
  218. package/misc/Gyroscope.js.map +1 -1
  219. package/modifiers/CurveModifier.cjs +1 -1
  220. package/modifiers/CurveModifier.cjs.map +1 -1
  221. package/modifiers/CurveModifier.js +2 -2
  222. package/modifiers/CurveModifier.js.map +1 -1
  223. package/modifiers/SimplifyModifier.cjs +2 -2
  224. package/modifiers/SimplifyModifier.cjs.map +1 -1
  225. package/modifiers/SimplifyModifier.js +2 -2
  226. package/modifiers/SimplifyModifier.js.map +1 -1
  227. package/objects/BatchedMesh.cjs +2 -2
  228. package/objects/BatchedMesh.cjs.map +1 -1
  229. package/objects/BatchedMesh.js +3 -3
  230. package/objects/BatchedMesh.js.map +1 -1
  231. package/objects/GroundProjectedEnv.cjs +1 -2
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +2 -3
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +206 -209
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +206 -209
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +146 -154
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +146 -154
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +180 -183
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +180 -183
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +161 -164
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +161 -164
  250. package/objects/Refractor.js.map +1 -1
  251. package/objects/ShadowMesh.cjs +1 -1
  252. package/objects/ShadowMesh.cjs.map +1 -1
  253. package/objects/ShadowMesh.js +2 -2
  254. package/objects/ShadowMesh.js.map +1 -1
  255. package/objects/Sky.cjs +32 -35
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +6 -100
  258. package/objects/Sky.js +32 -35
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +1 -2
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +2 -3
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +140 -143
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +140 -143
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/SAOPass.cjs +264 -267
  270. package/postprocessing/SAOPass.cjs.map +1 -1
  271. package/postprocessing/SAOPass.js +264 -267
  272. package/postprocessing/SAOPass.js.map +1 -1
  273. package/postprocessing/SSAOPass.cjs +250 -253
  274. package/postprocessing/SSAOPass.cjs.map +1 -1
  275. package/postprocessing/SSAOPass.js +250 -253
  276. package/postprocessing/SSAOPass.js.map +1 -1
  277. package/postprocessing/SSRPass.cjs +376 -379
  278. package/postprocessing/SSRPass.cjs.map +1 -1
  279. package/postprocessing/SSRPass.js +376 -379
  280. package/postprocessing/SSRPass.js.map +1 -1
  281. package/postprocessing/UnrealBloomPass.cjs +202 -205
  282. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  283. package/postprocessing/UnrealBloomPass.js +202 -205
  284. package/postprocessing/UnrealBloomPass.js.map +1 -1
  285. package/renderers/CSS2DRenderer.cjs +5 -5
  286. package/renderers/CSS2DRenderer.cjs.map +1 -1
  287. package/renderers/CSS2DRenderer.js +5 -5
  288. package/renderers/CSS2DRenderer.js.map +1 -1
  289. package/renderers/CSS3DRenderer.cjs +5 -5
  290. package/renderers/CSS3DRenderer.cjs.map +1 -1
  291. package/renderers/CSS3DRenderer.js +6 -6
  292. package/renderers/CSS3DRenderer.js.map +1 -1
  293. package/shaders/ACESFilmicToneMappingShader.cjs +46 -71
  294. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  295. package/shaders/ACESFilmicToneMappingShader.js +46 -71
  296. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  297. package/shaders/AfterimageShader.cjs +22 -41
  298. package/shaders/AfterimageShader.cjs.map +1 -1
  299. package/shaders/AfterimageShader.js +22 -41
  300. package/shaders/AfterimageShader.js.map +1 -1
  301. package/shaders/BasicShader.cjs +6 -20
  302. package/shaders/BasicShader.cjs.map +1 -1
  303. package/shaders/BasicShader.js +6 -20
  304. package/shaders/BasicShader.js.map +1 -1
  305. package/shaders/BleachBypassShader.cjs +26 -46
  306. package/shaders/BleachBypassShader.cjs.map +1 -1
  307. package/shaders/BleachBypassShader.js +26 -46
  308. package/shaders/BleachBypassShader.js.map +1 -1
  309. package/shaders/BlendShader.cjs +19 -33
  310. package/shaders/BlendShader.cjs.map +1 -1
  311. package/shaders/BlendShader.js +19 -33
  312. package/shaders/BlendShader.js.map +1 -1
  313. package/shaders/BokehShader.cjs +90 -117
  314. package/shaders/BokehShader.cjs.map +1 -1
  315. package/shaders/BokehShader.js +90 -117
  316. package/shaders/BokehShader.js.map +1 -1
  317. package/shaders/BokehShader2.cjs +232 -333
  318. package/shaders/BokehShader2.cjs.map +1 -1
  319. package/shaders/BokehShader2.js +232 -333
  320. package/shaders/BokehShader2.js.map +1 -1
  321. package/shaders/BrightnessContrastShader.cjs +22 -38
  322. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  323. package/shaders/BrightnessContrastShader.js +22 -38
  324. package/shaders/BrightnessContrastShader.js.map +1 -1
  325. package/shaders/ColorCorrectionShader.cjs +21 -35
  326. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  327. package/shaders/ColorCorrectionShader.js +21 -35
  328. package/shaders/ColorCorrectionShader.js.map +1 -1
  329. package/shaders/ColorifyShader.cjs +19 -34
  330. package/shaders/ColorifyShader.cjs.map +1 -1
  331. package/shaders/ColorifyShader.js +19 -34
  332. package/shaders/ColorifyShader.js.map +1 -1
  333. package/shaders/ConvolutionShader.cjs +24 -43
  334. package/shaders/ConvolutionShader.cjs.map +1 -1
  335. package/shaders/ConvolutionShader.js +24 -43
  336. package/shaders/ConvolutionShader.js.map +1 -1
  337. package/shaders/CopyShader.cjs +16 -30
  338. package/shaders/CopyShader.cjs.map +1 -1
  339. package/shaders/CopyShader.js +16 -30
  340. package/shaders/CopyShader.js.map +1 -1
  341. package/shaders/DOFMipMapShader.cjs +21 -38
  342. package/shaders/DOFMipMapShader.cjs.map +1 -1
  343. package/shaders/DOFMipMapShader.js +21 -38
  344. package/shaders/DOFMipMapShader.js.map +1 -1
  345. package/shaders/DepthLimitedBlurShader.cjs +69 -98
  346. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  347. package/shaders/DepthLimitedBlurShader.js +69 -98
  348. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  349. package/shaders/DigitalGlitch.cjs +59 -70
  350. package/shaders/DigitalGlitch.cjs.map +1 -1
  351. package/shaders/DigitalGlitch.js +59 -70
  352. package/shaders/DigitalGlitch.js.map +1 -1
  353. package/shaders/DotScreenShader.cjs +28 -49
  354. package/shaders/DotScreenShader.cjs.map +1 -1
  355. package/shaders/DotScreenShader.js +28 -49
  356. package/shaders/DotScreenShader.js.map +1 -1
  357. package/shaders/FXAAShader.cjs +1089 -1098
  358. package/shaders/FXAAShader.cjs.map +1 -1
  359. package/shaders/FXAAShader.js +1089 -1098
  360. package/shaders/FXAAShader.js.map +1 -1
  361. package/shaders/FilmShader.cjs +29 -57
  362. package/shaders/FilmShader.cjs.map +1 -1
  363. package/shaders/FilmShader.js +29 -57
  364. package/shaders/FilmShader.js.map +1 -1
  365. package/shaders/FocusShader.cjs +43 -70
  366. package/shaders/FocusShader.cjs.map +1 -1
  367. package/shaders/FocusShader.js +43 -70
  368. package/shaders/FocusShader.js.map +1 -1
  369. package/shaders/FreiChenShader.cjs +53 -74
  370. package/shaders/FreiChenShader.cjs.map +1 -1
  371. package/shaders/FreiChenShader.js +53 -74
  372. package/shaders/FreiChenShader.js.map +1 -1
  373. package/shaders/FresnelShader.cjs +35 -55
  374. package/shaders/FresnelShader.cjs.map +1 -1
  375. package/shaders/FresnelShader.js +35 -55
  376. package/shaders/FresnelShader.js.map +1 -1
  377. package/shaders/GammaCorrectionShader.cjs +19 -33
  378. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  379. package/shaders/GammaCorrectionShader.js +19 -33
  380. package/shaders/GammaCorrectionShader.js.map +1 -1
  381. package/shaders/GodRaysShader.cjs +116 -193
  382. package/shaders/GodRaysShader.cjs.map +1 -1
  383. package/shaders/GodRaysShader.js +116 -193
  384. package/shaders/GodRaysShader.js.map +1 -1
  385. package/shaders/HalftoneShader.cjs +192 -270
  386. package/shaders/HalftoneShader.cjs.map +1 -1
  387. package/shaders/HalftoneShader.js +192 -270
  388. package/shaders/HalftoneShader.js.map +1 -1
  389. package/shaders/HorizontalTiltShiftShader.cjs +27 -43
  390. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  391. package/shaders/HorizontalTiltShiftShader.js +27 -43
  392. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  393. package/shaders/HueSaturationShader.cjs +31 -47
  394. package/shaders/HueSaturationShader.cjs.map +1 -1
  395. package/shaders/HueSaturationShader.js +31 -47
  396. package/shaders/HueSaturationShader.js.map +1 -1
  397. package/shaders/KaleidoShader.cjs +24 -37
  398. package/shaders/KaleidoShader.cjs.map +1 -1
  399. package/shaders/KaleidoShader.js +24 -37
  400. package/shaders/KaleidoShader.js.map +1 -1
  401. package/shaders/LuminosityHighPassShader.cjs +24 -43
  402. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  403. package/shaders/LuminosityHighPassShader.js +24 -43
  404. package/shaders/LuminosityHighPassShader.js.map +1 -1
  405. package/shaders/LuminosityShader.cjs +17 -34
  406. package/shaders/LuminosityShader.cjs.map +1 -1
  407. package/shaders/LuminosityShader.js +17 -34
  408. package/shaders/LuminosityShader.js.map +1 -1
  409. package/shaders/MirrorShader.cjs +26 -39
  410. package/shaders/MirrorShader.cjs.map +1 -1
  411. package/shaders/MirrorShader.js +26 -39
  412. package/shaders/MirrorShader.js.map +1 -1
  413. package/shaders/NormalMapShader.cjs +21 -36
  414. package/shaders/NormalMapShader.cjs.map +1 -1
  415. package/shaders/NormalMapShader.js +21 -36
  416. package/shaders/NormalMapShader.js.map +1 -1
  417. package/shaders/ParallaxShader.cjs +97 -147
  418. package/shaders/ParallaxShader.cjs.map +1 -1
  419. package/shaders/ParallaxShader.js +97 -147
  420. package/shaders/ParallaxShader.js.map +1 -1
  421. package/shaders/PixelShader.cjs +18 -31
  422. package/shaders/PixelShader.cjs.map +1 -1
  423. package/shaders/PixelShader.js +18 -31
  424. package/shaders/PixelShader.js.map +1 -1
  425. package/shaders/RGBShiftShader.cjs +20 -33
  426. package/shaders/RGBShiftShader.cjs.map +1 -1
  427. package/shaders/RGBShiftShader.js +20 -33
  428. package/shaders/RGBShiftShader.js.map +1 -1
  429. package/shaders/SAOShader.cjs +117 -154
  430. package/shaders/SAOShader.cjs.map +1 -1
  431. package/shaders/SAOShader.js +117 -154
  432. package/shaders/SAOShader.js.map +1 -1
  433. package/shaders/SMAAShader.cjs +270 -358
  434. package/shaders/SMAAShader.cjs.map +1 -1
  435. package/shaders/SMAAShader.js +270 -358
  436. package/shaders/SMAAShader.js.map +1 -1
  437. package/shaders/SSAOShader.cjs +142 -236
  438. package/shaders/SSAOShader.cjs.map +1 -1
  439. package/shaders/SSAOShader.js +142 -236
  440. package/shaders/SSAOShader.js.map +1 -1
  441. package/shaders/SSRShader.cjs +4 -4
  442. package/shaders/SSRShader.cjs.map +1 -1
  443. package/shaders/SSRShader.js +4 -4
  444. package/shaders/SSRShader.js.map +1 -1
  445. package/shaders/SepiaShader.cjs +20 -36
  446. package/shaders/SepiaShader.cjs.map +1 -1
  447. package/shaders/SepiaShader.js +20 -36
  448. package/shaders/SepiaShader.js.map +1 -1
  449. package/shaders/SobelOperatorShader.cjs +37 -64
  450. package/shaders/SobelOperatorShader.cjs.map +1 -1
  451. package/shaders/SobelOperatorShader.js +37 -64
  452. package/shaders/SobelOperatorShader.js.map +1 -1
  453. package/shaders/TechnicolorShader.cjs +16 -29
  454. package/shaders/TechnicolorShader.cjs.map +1 -1
  455. package/shaders/TechnicolorShader.js +16 -29
  456. package/shaders/TechnicolorShader.js.map +1 -1
  457. package/shaders/ToneMapShader.cjs +35 -55
  458. package/shaders/ToneMapShader.cjs.map +1 -1
  459. package/shaders/ToneMapShader.js +35 -55
  460. package/shaders/ToneMapShader.js.map +1 -1
  461. package/shaders/ToonShader.cjs +165 -275
  462. package/shaders/ToonShader.cjs.map +1 -1
  463. package/shaders/ToonShader.js +165 -275
  464. package/shaders/ToonShader.js.map +1 -1
  465. package/shaders/TriangleBlurShader.cjs +27 -50
  466. package/shaders/TriangleBlurShader.cjs.map +1 -1
  467. package/shaders/TriangleBlurShader.js +27 -50
  468. package/shaders/TriangleBlurShader.js.map +1 -1
  469. package/shaders/UnpackDepthRGBAShader.cjs +17 -32
  470. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  471. package/shaders/UnpackDepthRGBAShader.js +17 -32
  472. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  473. package/shaders/VerticalTiltShiftShader.cjs +27 -43
  474. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  475. package/shaders/VerticalTiltShiftShader.js +27 -43
  476. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  477. package/shaders/VignetteShader.cjs +27 -43
  478. package/shaders/VignetteShader.cjs.map +1 -1
  479. package/shaders/VignetteShader.js +27 -43
  480. package/shaders/VignetteShader.js.map +1 -1
  481. package/shaders/VolumeShader.cjs +213 -264
  482. package/shaders/VolumeShader.cjs.map +1 -1
  483. package/shaders/VolumeShader.js +213 -264
  484. package/shaders/VolumeShader.js.map +1 -1
  485. package/shaders/WaterRefractionShader.cjs +35 -63
  486. package/shaders/WaterRefractionShader.cjs.map +1 -1
  487. package/shaders/WaterRefractionShader.js +35 -63
  488. package/shaders/WaterRefractionShader.js.map +1 -1
  489. package/utils/GeometryCompressionUtils.cjs +1 -2
  490. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  491. package/utils/GeometryCompressionUtils.js +2 -3
  492. package/utils/GeometryCompressionUtils.js.map +1 -1
  493. package/utils/RoughnessMipmapper.cjs +3 -3
  494. package/utils/RoughnessMipmapper.cjs.map +1 -1
  495. package/utils/RoughnessMipmapper.js +4 -4
  496. package/utils/RoughnessMipmapper.js.map +1 -1
  497. package/webxr/ARButton.cjs +106 -109
  498. package/webxr/ARButton.cjs.map +1 -1
  499. package/webxr/ARButton.d.ts +3 -4
  500. package/webxr/ARButton.js +106 -109
  501. package/webxr/ARButton.js.map +1 -1
  502. package/webxr/OculusHandPointerModel.cjs +2 -2
  503. package/webxr/OculusHandPointerModel.cjs.map +1 -1
  504. package/webxr/OculusHandPointerModel.js +2 -2
  505. package/webxr/OculusHandPointerModel.js.map +1 -1
  506. package/webxr/VRButton.cjs +95 -98
  507. package/webxr/VRButton.cjs.map +1 -1
  508. package/webxr/VRButton.d.ts +5 -6
  509. package/webxr/VRButton.js +95 -98
  510. package/webxr/VRButton.js.map +1 -1
  511. package/webxr/XRHandPrimitiveModel.cjs +2 -2
  512. package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
  513. package/webxr/XRHandPrimitiveModel.js +3 -3
  514. package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -5,148 +5,137 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import { BufferGeometry, Mesh, Points } from "three";
8
- const DRACOExporter = /* @__PURE__ */ (() => {
9
- const _DRACOExporter2 = class {
10
- parse(object, options = {
11
- decodeSpeed: 5,
12
- encodeSpeed: 5,
13
- encoderMethod: _DRACOExporter2.MESH_EDGEBREAKER_ENCODING,
14
- quantization: [16, 8, 8, 8, 8],
15
- exportUvs: true,
16
- exportNormals: true,
17
- exportColor: false
18
- }) {
19
- if (object instanceof BufferGeometry && object.isBufferGeometry) {
20
- throw new Error("DRACOExporter: The first parameter of parse() is now an instance of Mesh or Points.");
21
- }
22
- if (DracoEncoderModule === void 0) {
23
- throw new Error("THREE.DRACOExporter: required the draco_encoder to work.");
24
- }
25
- const geometry = object.geometry;
26
- const dracoEncoder = DracoEncoderModule();
27
- const encoder = new dracoEncoder.Encoder();
28
- let builder;
29
- let dracoObject;
30
- if (!geometry.isBufferGeometry) {
31
- throw new Error(
32
- "THREE.DRACOExporter.parse(geometry, options): geometry is not a THREE.BufferGeometry instance."
33
- );
34
- }
35
- if (object instanceof Mesh && object.isMesh) {
36
- builder = new dracoEncoder.MeshBuilder();
37
- dracoObject = new dracoEncoder.Mesh();
38
- const vertices = geometry.getAttribute("position");
39
- builder.AddFloatAttributeToMesh(
40
- dracoObject,
41
- dracoEncoder.POSITION,
42
- vertices.count,
43
- vertices.itemSize,
44
- vertices.array
45
- );
46
- const faces = geometry.getIndex();
47
- if (faces !== null) {
48
- builder.AddFacesToMesh(dracoObject, faces.count / 3, faces.array);
49
- } else {
50
- const faces2 = new (vertices.count > 65535 ? Uint32Array : Uint16Array)(vertices.count);
51
- for (let i = 0; i < faces2.length; i++) {
52
- faces2[i] = i;
53
- }
54
- builder.AddFacesToMesh(dracoObject, vertices.count, faces2);
55
- }
56
- if (options.exportNormals) {
57
- const normals = geometry.getAttribute("normal");
58
- if (normals !== void 0) {
59
- builder.AddFloatAttributeToMesh(
60
- dracoObject,
61
- dracoEncoder.NORMAL,
62
- normals.count,
63
- normals.itemSize,
64
- normals.array
65
- );
66
- }
67
- }
68
- if (options.exportUvs) {
69
- const uvs = geometry.getAttribute("uv");
70
- if (uvs !== void 0) {
71
- builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.TEX_COORD, uvs.count, uvs.itemSize, uvs.array);
72
- }
73
- }
74
- if (options.exportColor) {
75
- const colors = geometry.getAttribute("color");
76
- if (colors !== void 0) {
77
- builder.AddFloatAttributeToMesh(
78
- dracoObject,
79
- dracoEncoder.COLOR,
80
- colors.count,
81
- colors.itemSize,
82
- colors.array
83
- );
84
- }
85
- }
86
- } else if (object instanceof Points && object.isPoints) {
87
- builder = new dracoEncoder.PointCloudBuilder();
88
- dracoObject = new dracoEncoder.PointCloud();
89
- const vertices = geometry.getAttribute("position");
90
- builder.AddFloatAttribute(dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array);
91
- if (options.exportColor) {
92
- const colors = geometry.getAttribute("color");
93
- if (colors !== void 0) {
94
- builder.AddFloatAttribute(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array);
95
- }
96
- }
8
+ const _DRACOExporter = class {
9
+ parse(object, options = {
10
+ decodeSpeed: 5,
11
+ encodeSpeed: 5,
12
+ encoderMethod: _DRACOExporter.MESH_EDGEBREAKER_ENCODING,
13
+ quantization: [16, 8, 8, 8, 8],
14
+ exportUvs: true,
15
+ exportNormals: true,
16
+ exportColor: false
17
+ }) {
18
+ if (object instanceof BufferGeometry && object.isBufferGeometry) {
19
+ throw new Error("DRACOExporter: The first parameter of parse() is now an instance of Mesh or Points.");
20
+ }
21
+ if (DracoEncoderModule === void 0) {
22
+ throw new Error("THREE.DRACOExporter: required the draco_encoder to work.");
23
+ }
24
+ const geometry = object.geometry;
25
+ const dracoEncoder = DracoEncoderModule();
26
+ const encoder = new dracoEncoder.Encoder();
27
+ let builder;
28
+ let dracoObject;
29
+ if (!geometry.isBufferGeometry) {
30
+ throw new Error("THREE.DRACOExporter.parse(geometry, options): geometry is not a THREE.BufferGeometry instance.");
31
+ }
32
+ if (object instanceof Mesh && object.isMesh) {
33
+ builder = new dracoEncoder.MeshBuilder();
34
+ dracoObject = new dracoEncoder.Mesh();
35
+ const vertices = geometry.getAttribute("position");
36
+ builder.AddFloatAttributeToMesh(
37
+ dracoObject,
38
+ dracoEncoder.POSITION,
39
+ vertices.count,
40
+ vertices.itemSize,
41
+ vertices.array
42
+ );
43
+ const faces = geometry.getIndex();
44
+ if (faces !== null) {
45
+ builder.AddFacesToMesh(dracoObject, faces.count / 3, faces.array);
97
46
  } else {
98
- throw new Error("DRACOExporter: Unsupported object type.");
47
+ const faces2 = new (vertices.count > 65535 ? Uint32Array : Uint16Array)(vertices.count);
48
+ for (let i = 0; i < faces2.length; i++) {
49
+ faces2[i] = i;
50
+ }
51
+ builder.AddFacesToMesh(dracoObject, vertices.count, faces2);
99
52
  }
100
- const encodedData = new dracoEncoder.DracoInt8Array();
101
- const encodeSpeed = options.encodeSpeed !== void 0 ? options.encodeSpeed : 5;
102
- const decodeSpeed = options.decodeSpeed !== void 0 ? options.decodeSpeed : 5;
103
- encoder.SetSpeedOptions(encodeSpeed, decodeSpeed);
104
- if (options.encoderMethod !== void 0) {
105
- encoder.SetEncodingMethod(options.encoderMethod);
53
+ if (options.exportNormals) {
54
+ const normals = geometry.getAttribute("normal");
55
+ if (normals !== void 0) {
56
+ builder.AddFloatAttributeToMesh(
57
+ dracoObject,
58
+ dracoEncoder.NORMAL,
59
+ normals.count,
60
+ normals.itemSize,
61
+ normals.array
62
+ );
63
+ }
106
64
  }
107
- if (options.quantization !== void 0) {
108
- for (let i = 0; i < 5; i++) {
109
- if (options.quantization[i] !== void 0) {
110
- encoder.SetAttributeQuantization(i, options.quantization[i]);
111
- }
65
+ if (options.exportUvs) {
66
+ const uvs = geometry.getAttribute("uv");
67
+ if (uvs !== void 0) {
68
+ builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.TEX_COORD, uvs.count, uvs.itemSize, uvs.array);
112
69
  }
113
70
  }
114
- let length;
115
- if (object instanceof Mesh && object.isMesh) {
116
- length = encoder.EncodeMeshToDracoBuffer(dracoObject, encodedData);
117
- } else {
118
- length = encoder.EncodePointCloudToDracoBuffer(dracoObject, true, encodedData);
71
+ if (options.exportColor) {
72
+ const colors = geometry.getAttribute("color");
73
+ if (colors !== void 0) {
74
+ builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array);
75
+ }
119
76
  }
120
- dracoEncoder.destroy(dracoObject);
121
- if (length === 0) {
122
- throw new Error("THREE.DRACOExporter: Draco encoding failed.");
77
+ } else if (object instanceof Points && object.isPoints) {
78
+ builder = new dracoEncoder.PointCloudBuilder();
79
+ dracoObject = new dracoEncoder.PointCloud();
80
+ const vertices = geometry.getAttribute("position");
81
+ builder.AddFloatAttribute(dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array);
82
+ if (options.exportColor) {
83
+ const colors = geometry.getAttribute("color");
84
+ if (colors !== void 0) {
85
+ builder.AddFloatAttribute(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array);
86
+ }
123
87
  }
124
- const outputData = new Int8Array(new ArrayBuffer(length));
125
- for (let i = 0; i < length; i++) {
126
- outputData[i] = encodedData.GetValue(i);
88
+ } else {
89
+ throw new Error("DRACOExporter: Unsupported object type.");
90
+ }
91
+ const encodedData = new dracoEncoder.DracoInt8Array();
92
+ const encodeSpeed = options.encodeSpeed !== void 0 ? options.encodeSpeed : 5;
93
+ const decodeSpeed = options.decodeSpeed !== void 0 ? options.decodeSpeed : 5;
94
+ encoder.SetSpeedOptions(encodeSpeed, decodeSpeed);
95
+ if (options.encoderMethod !== void 0) {
96
+ encoder.SetEncodingMethod(options.encoderMethod);
97
+ }
98
+ if (options.quantization !== void 0) {
99
+ for (let i = 0; i < 5; i++) {
100
+ if (options.quantization[i] !== void 0) {
101
+ encoder.SetAttributeQuantization(i, options.quantization[i]);
102
+ }
127
103
  }
128
- dracoEncoder.destroy(encodedData);
129
- dracoEncoder.destroy(encoder);
130
- dracoEncoder.destroy(builder);
131
- return outputData;
132
104
  }
133
- };
134
- let DRACOExporter2 = _DRACOExporter2;
135
- // Encoder methods
136
- __publicField(DRACOExporter2, "MESH_EDGEBREAKER_ENCODING", 1);
137
- __publicField(DRACOExporter2, "MESH_SEQUENTIAL_ENCODING", 0);
138
- // Geometry type
139
- __publicField(DRACOExporter2, "POINT_CLOUD", 0);
140
- __publicField(DRACOExporter2, "TRIANGULAR_MESH", 1);
141
- // Attribute type
142
- __publicField(DRACOExporter2, "INVALID", -1);
143
- __publicField(DRACOExporter2, "POSITION", 0);
144
- __publicField(DRACOExporter2, "NORMAL", 1);
145
- __publicField(DRACOExporter2, "COLOR", 2);
146
- __publicField(DRACOExporter2, "TEX_COORD", 3);
147
- __publicField(DRACOExporter2, "GENERIC", 4);
148
- return DRACOExporter2;
149
- })();
105
+ let length;
106
+ if (object instanceof Mesh && object.isMesh) {
107
+ length = encoder.EncodeMeshToDracoBuffer(dracoObject, encodedData);
108
+ } else {
109
+ length = encoder.EncodePointCloudToDracoBuffer(dracoObject, true, encodedData);
110
+ }
111
+ dracoEncoder.destroy(dracoObject);
112
+ if (length === 0) {
113
+ throw new Error("THREE.DRACOExporter: Draco encoding failed.");
114
+ }
115
+ const outputData = new Int8Array(new ArrayBuffer(length));
116
+ for (let i = 0; i < length; i++) {
117
+ outputData[i] = encodedData.GetValue(i);
118
+ }
119
+ dracoEncoder.destroy(encodedData);
120
+ dracoEncoder.destroy(encoder);
121
+ dracoEncoder.destroy(builder);
122
+ return outputData;
123
+ }
124
+ };
125
+ let DRACOExporter = _DRACOExporter;
126
+ // Encoder methods
127
+ __publicField(DRACOExporter, "MESH_EDGEBREAKER_ENCODING", 1);
128
+ __publicField(DRACOExporter, "MESH_SEQUENTIAL_ENCODING", 0);
129
+ // Geometry type
130
+ __publicField(DRACOExporter, "POINT_CLOUD", 0);
131
+ __publicField(DRACOExporter, "TRIANGULAR_MESH", 1);
132
+ // Attribute type
133
+ __publicField(DRACOExporter, "INVALID", -1);
134
+ __publicField(DRACOExporter, "POSITION", 0);
135
+ __publicField(DRACOExporter, "NORMAL", 1);
136
+ __publicField(DRACOExporter, "COLOR", 2);
137
+ __publicField(DRACOExporter, "TEX_COORD", 3);
138
+ __publicField(DRACOExporter, "GENERIC", 4);
150
139
  export {
151
140
  DRACOExporter
152
141
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DRACOExporter.js","sources":["../../src/exporters/DRACOExporter.ts"],"sourcesContent":["import type { EncoderModule } from 'draco3d'\nimport { BufferGeometry, Mesh, Points } from 'three'\n\n/**\n * Export draco compressed files from threejs geometry objects.\n *\n * Draco files are compressed and usually are smaller than conventional 3D file formats.\n *\n * The exporter receives a options object containing\n * - decodeSpeed, indicates how to tune the encoder regarding decode speed (0 gives better speed but worst quality)\n * - encodeSpeed, indicates how to tune the encoder parameters (0 gives better speed but worst quality)\n * - encoderMethod\n * - quantization, indicates the presision of each type of data stored in the draco file in the order (POSITION, NORMAL, COLOR, TEX_COORD, GENERIC)\n * - exportUvs\n * - exportNormals\n */\n\ndeclare const DracoEncoderModule: () => EncoderModule\n\nconst DRACOExporter = /* @__PURE__ */ (() => {\n class DRACOExporter {\n // Encoder methods\n\n public static MESH_EDGEBREAKER_ENCODING = 1\n public static MESH_SEQUENTIAL_ENCODING = 0\n\n // Geometry type\n\n public static POINT_CLOUD = 0\n public static TRIANGULAR_MESH = 1\n\n // Attribute type\n public static INVALID = -1\n public static POSITION = 0\n public static NORMAL = 1\n public static COLOR = 2\n public static TEX_COORD = 3\n public static GENERIC = 4\n\n public parse(\n object: Mesh | Points,\n options = {\n decodeSpeed: 5,\n encodeSpeed: 5,\n encoderMethod: DRACOExporter.MESH_EDGEBREAKER_ENCODING,\n quantization: [16, 8, 8, 8, 8],\n exportUvs: true,\n exportNormals: true,\n exportColor: false,\n },\n ): Int8Array {\n if (object instanceof BufferGeometry && object.isBufferGeometry) {\n throw new Error('DRACOExporter: The first parameter of parse() is now an instance of Mesh or Points.')\n }\n\n if (DracoEncoderModule === undefined) {\n throw new Error('THREE.DRACOExporter: required the draco_encoder to work.')\n }\n\n const geometry = object.geometry\n\n const dracoEncoder = DracoEncoderModule()\n const encoder = new dracoEncoder.Encoder()\n let builder\n let dracoObject\n\n if (!geometry.isBufferGeometry) {\n throw new Error(\n 'THREE.DRACOExporter.parse(geometry, options): geometry is not a THREE.BufferGeometry instance.',\n )\n }\n\n if (object instanceof Mesh && object.isMesh) {\n builder = new dracoEncoder.MeshBuilder()\n dracoObject = new dracoEncoder.Mesh()\n\n const vertices = geometry.getAttribute('position')\n // @ts-ignore\n builder.AddFloatAttributeToMesh(\n dracoObject,\n dracoEncoder.POSITION,\n vertices.count,\n vertices.itemSize,\n vertices.array,\n )\n\n const faces = geometry.getIndex()\n\n if (faces !== null) {\n builder.AddFacesToMesh(dracoObject, faces.count / 3, faces.array as Uint16Array | Uint32Array)\n } else {\n const faces = new (vertices.count > 65535 ? Uint32Array : Uint16Array)(vertices.count)\n\n for (let i = 0; i < faces.length; i++) {\n faces[i] = i\n }\n\n builder.AddFacesToMesh(dracoObject, vertices.count, faces)\n }\n\n if (options.exportNormals) {\n const normals = geometry.getAttribute('normal')\n\n if (normals !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(\n dracoObject,\n dracoEncoder.NORMAL,\n normals.count,\n normals.itemSize,\n normals.array,\n )\n }\n }\n\n if (options.exportUvs) {\n const uvs = geometry.getAttribute('uv')\n\n if (uvs !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.TEX_COORD, uvs.count, uvs.itemSize, uvs.array)\n }\n }\n\n if (options.exportColor) {\n const colors = geometry.getAttribute('color')\n\n if (colors !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(\n dracoObject,\n dracoEncoder.COLOR,\n colors.count,\n colors.itemSize,\n colors.array,\n )\n }\n }\n } else if (object instanceof Points && object.isPoints) {\n // @ts-ignore\n builder = new dracoEncoder.PointCloudBuilder()\n // @ts-ignore\n dracoObject = new dracoEncoder.PointCloud()\n\n const vertices = geometry.getAttribute('position')\n builder.AddFloatAttribute(dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array)\n\n if (options.exportColor) {\n const colors = geometry.getAttribute('color')\n\n if (colors !== undefined) {\n builder.AddFloatAttribute(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array)\n }\n }\n } else {\n throw new Error('DRACOExporter: Unsupported object type.')\n }\n\n //Compress using draco encoder\n\n const encodedData = new dracoEncoder.DracoInt8Array()\n\n //Sets the desired encoding and decoding speed for the given options from 0 (slowest speed, but the best compression) to 10 (fastest, but the worst compression).\n\n const encodeSpeed = options.encodeSpeed !== undefined ? options.encodeSpeed : 5\n const decodeSpeed = options.decodeSpeed !== undefined ? options.decodeSpeed : 5\n\n encoder.SetSpeedOptions(encodeSpeed, decodeSpeed)\n\n // Sets the desired encoding method for a given geometry.\n\n if (options.encoderMethod !== undefined) {\n encoder.SetEncodingMethod(options.encoderMethod)\n }\n\n // Sets the quantization (number of bits used to represent) compression options for a named attribute.\n // The attribute values will be quantized in a box defined by the maximum extent of the attribute values.\n if (options.quantization !== undefined) {\n for (let i = 0; i < 5; i++) {\n if (options.quantization[i] !== undefined) {\n encoder.SetAttributeQuantization(i, options.quantization[i])\n }\n }\n }\n\n let length\n\n if (object instanceof Mesh && object.isMesh) {\n length = encoder.EncodeMeshToDracoBuffer(dracoObject, encodedData)\n } else {\n // @ts-ignore\n length = encoder.EncodePointCloudToDracoBuffer(dracoObject, true, encodedData)\n }\n\n dracoEncoder.destroy(dracoObject)\n\n if (length === 0) {\n throw new Error('THREE.DRACOExporter: Draco encoding failed.')\n }\n\n //Copy encoded data to buffer.\n const outputData = new Int8Array(new ArrayBuffer(length))\n\n for (let i = 0; i < length; i++) {\n outputData[i] = encodedData.GetValue(i)\n }\n\n dracoEncoder.destroy(encodedData)\n dracoEncoder.destroy(encoder)\n dracoEncoder.destroy(builder)\n\n return outputData\n }\n }\n\n return DRACOExporter\n})()\n\nexport { DRACOExporter }\n"],"names":["DRACOExporter","faces"],"mappings":"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"}
1
+ {"version":3,"file":"DRACOExporter.js","sources":["../../src/exporters/DRACOExporter.ts"],"sourcesContent":["import type { EncoderModule } from 'draco3d'\nimport { BufferGeometry, Mesh, Points } from 'three'\n\n/**\n * Export draco compressed files from threejs geometry objects.\n *\n * Draco files are compressed and usually are smaller than conventional 3D file formats.\n *\n * The exporter receives a options object containing\n * - decodeSpeed, indicates how to tune the encoder regarding decode speed (0 gives better speed but worst quality)\n * - encodeSpeed, indicates how to tune the encoder parameters (0 gives better speed but worst quality)\n * - encoderMethod\n * - quantization, indicates the presision of each type of data stored in the draco file in the order (POSITION, NORMAL, COLOR, TEX_COORD, GENERIC)\n * - exportUvs\n * - exportNormals\n */\n\ndeclare const DracoEncoderModule: () => EncoderModule\n\nclass DRACOExporter {\n // Encoder methods\n\n public static MESH_EDGEBREAKER_ENCODING = 1\n public static MESH_SEQUENTIAL_ENCODING = 0\n\n // Geometry type\n\n public static POINT_CLOUD = 0\n public static TRIANGULAR_MESH = 1\n\n // Attribute type\n public static INVALID = -1\n public static POSITION = 0\n public static NORMAL = 1\n public static COLOR = 2\n public static TEX_COORD = 3\n public static GENERIC = 4\n\n public parse(\n object: Mesh | Points,\n options = {\n decodeSpeed: 5,\n encodeSpeed: 5,\n encoderMethod: DRACOExporter.MESH_EDGEBREAKER_ENCODING,\n quantization: [16, 8, 8, 8, 8],\n exportUvs: true,\n exportNormals: true,\n exportColor: false,\n },\n ): Int8Array {\n if (object instanceof BufferGeometry && object.isBufferGeometry) {\n throw new Error('DRACOExporter: The first parameter of parse() is now an instance of Mesh or Points.')\n }\n\n if (DracoEncoderModule === undefined) {\n throw new Error('THREE.DRACOExporter: required the draco_encoder to work.')\n }\n\n const geometry = object.geometry\n\n const dracoEncoder = DracoEncoderModule()\n const encoder = new dracoEncoder.Encoder()\n let builder\n let dracoObject\n\n if (!geometry.isBufferGeometry) {\n throw new Error('THREE.DRACOExporter.parse(geometry, options): geometry is not a THREE.BufferGeometry instance.')\n }\n\n if (object instanceof Mesh && object.isMesh) {\n builder = new dracoEncoder.MeshBuilder()\n dracoObject = new dracoEncoder.Mesh()\n\n const vertices = geometry.getAttribute('position')\n // @ts-ignore\n builder.AddFloatAttributeToMesh(\n dracoObject,\n dracoEncoder.POSITION,\n vertices.count,\n vertices.itemSize,\n vertices.array,\n )\n\n const faces = geometry.getIndex()\n\n if (faces !== null) {\n builder.AddFacesToMesh(dracoObject, faces.count / 3, faces.array as Uint16Array | Uint32Array)\n } else {\n const faces = new (vertices.count > 65535 ? Uint32Array : Uint16Array)(vertices.count)\n\n for (let i = 0; i < faces.length; i++) {\n faces[i] = i\n }\n\n builder.AddFacesToMesh(dracoObject, vertices.count, faces)\n }\n\n if (options.exportNormals) {\n const normals = geometry.getAttribute('normal')\n\n if (normals !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(\n dracoObject,\n dracoEncoder.NORMAL,\n normals.count,\n normals.itemSize,\n normals.array,\n )\n }\n }\n\n if (options.exportUvs) {\n const uvs = geometry.getAttribute('uv')\n\n if (uvs !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.TEX_COORD, uvs.count, uvs.itemSize, uvs.array)\n }\n }\n\n if (options.exportColor) {\n const colors = geometry.getAttribute('color')\n\n if (colors !== undefined) {\n // @ts-ignore\n builder.AddFloatAttributeToMesh(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array)\n }\n }\n } else if (object instanceof Points && object.isPoints) {\n // @ts-ignore\n builder = new dracoEncoder.PointCloudBuilder()\n // @ts-ignore\n dracoObject = new dracoEncoder.PointCloud()\n\n const vertices = geometry.getAttribute('position')\n builder.AddFloatAttribute(dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array)\n\n if (options.exportColor) {\n const colors = geometry.getAttribute('color')\n\n if (colors !== undefined) {\n builder.AddFloatAttribute(dracoObject, dracoEncoder.COLOR, colors.count, colors.itemSize, colors.array)\n }\n }\n } else {\n throw new Error('DRACOExporter: Unsupported object type.')\n }\n\n //Compress using draco encoder\n\n const encodedData = new dracoEncoder.DracoInt8Array()\n\n //Sets the desired encoding and decoding speed for the given options from 0 (slowest speed, but the best compression) to 10 (fastest, but the worst compression).\n\n const encodeSpeed = options.encodeSpeed !== undefined ? options.encodeSpeed : 5\n const decodeSpeed = options.decodeSpeed !== undefined ? options.decodeSpeed : 5\n\n encoder.SetSpeedOptions(encodeSpeed, decodeSpeed)\n\n // Sets the desired encoding method for a given geometry.\n\n if (options.encoderMethod !== undefined) {\n encoder.SetEncodingMethod(options.encoderMethod)\n }\n\n // Sets the quantization (number of bits used to represent) compression options for a named attribute.\n // The attribute values will be quantized in a box defined by the maximum extent of the attribute values.\n if (options.quantization !== undefined) {\n for (let i = 0; i < 5; i++) {\n if (options.quantization[i] !== undefined) {\n encoder.SetAttributeQuantization(i, options.quantization[i])\n }\n }\n }\n\n let length\n\n if (object instanceof Mesh && object.isMesh) {\n length = encoder.EncodeMeshToDracoBuffer(dracoObject, encodedData)\n } else {\n // @ts-ignore\n length = encoder.EncodePointCloudToDracoBuffer(dracoObject, true, encodedData)\n }\n\n dracoEncoder.destroy(dracoObject)\n\n if (length === 0) {\n throw new Error('THREE.DRACOExporter: Draco encoding failed.')\n }\n\n //Copy encoded data to buffer.\n const outputData = new Int8Array(new ArrayBuffer(length))\n\n for (let i = 0; i < length; i++) {\n outputData[i] = encodedData.GetValue(i)\n }\n\n dracoEncoder.destroy(encodedData)\n dracoEncoder.destroy(encoder)\n dracoEncoder.destroy(builder)\n\n return outputData\n }\n}\n\nexport { DRACOExporter }\n"],"names":["faces"],"mappings":"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"}