@ohos-ports/react-three-drei 10.7.7-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +852 -0
  3. package/core/AccumulativeShadows.cjs.js +1 -0
  4. package/core/AccumulativeShadows.d.ts +59 -0
  5. package/core/AccumulativeShadows.js +310 -0
  6. package/core/AdaptiveDpr.cjs.js +1 -0
  7. package/core/AdaptiveDpr.d.ts +3 -0
  8. package/core/AdaptiveDpr.js +28 -0
  9. package/core/AdaptiveEvents.cjs.js +1 -0
  10. package/core/AdaptiveEvents.d.ts +1 -0
  11. package/core/AdaptiveEvents.js +20 -0
  12. package/core/ArcballControls.cjs.js +1 -0
  13. package/core/ArcballControls.d.ts +15 -0
  14. package/core/ArcballControls.js +67 -0
  15. package/core/AsciiRenderer.cjs.js +1 -0
  16. package/core/AsciiRenderer.d.ts +11 -0
  17. package/core/AsciiRenderer.js +66 -0
  18. package/core/BBAnchor.cjs.js +1 -0
  19. package/core/BBAnchor.d.ts +7 -0
  20. package/core/BBAnchor.js +37 -0
  21. package/core/Backdrop.cjs.js +1 -0
  22. package/core/Backdrop.d.ts +15 -0
  23. package/core/Backdrop.js +33 -0
  24. package/core/BakeShadows.cjs.js +1 -0
  25. package/core/BakeShadows.d.ts +1 -0
  26. package/core/BakeShadows.js +16 -0
  27. package/core/Billboard.cjs.js +1 -0
  28. package/core/Billboard.d.ts +10 -0
  29. package/core/Billboard.js +53 -0
  30. package/core/Bounds.cjs.js +1 -0
  31. package/core/Bounds.d.ts +36 -0
  32. package/core/Bounds.js +254 -0
  33. package/core/Bvh.cjs.js +1 -0
  34. package/core/Bvh.d.ts +19 -0
  35. package/core/Bvh.js +92 -0
  36. package/core/CameraControls.cjs.js +1 -0
  37. package/core/CameraControls.d.ts +48 -0
  38. package/core/CameraControls.js +151 -0
  39. package/core/CameraShake.cjs.js +1 -0
  40. package/core/CameraShake.d.ts +17 -0
  41. package/core/CameraShake.js +57 -0
  42. package/core/CatmullRomLine.cjs.js +1 -0
  43. package/core/CatmullRomLine.d.ts +10 -0
  44. package/core/CatmullRomLine.js +42 -0
  45. package/core/Caustics.cjs.js +1 -0
  46. package/core/Caustics.d.ts +32 -0
  47. package/core/Caustics.js +388 -0
  48. package/core/Center.cjs.js +1 -0
  49. package/core/Center.d.ts +33 -0
  50. package/core/Center.js +67 -0
  51. package/core/Clone.cjs.js +1 -0
  52. package/core/Clone.d.ts +15 -0
  53. package/core/Clone.js +100 -0
  54. package/core/Cloud.cjs.js +1 -0
  55. package/core/Cloud.d.ts +97 -0
  56. package/core/Cloud.js +231 -0
  57. package/core/ComputedAttribute.cjs.js +1 -0
  58. package/core/ComputedAttribute.d.ts +8 -0
  59. package/core/ComputedAttribute.js +33 -0
  60. package/core/ContactShadows.cjs.js +1 -0
  61. package/core/ContactShadows.d.ts +18 -0
  62. package/core/ContactShadows.js +114 -0
  63. package/core/CubeCamera.cjs.js +1 -0
  64. package/core/CubeCamera.d.ts +21 -0
  65. package/core/CubeCamera.js +86 -0
  66. package/core/CubeTexture.cjs.js +1 -0
  67. package/core/CubeTexture.d.ts +14 -0
  68. package/core/CubeTexture.js +25 -0
  69. package/core/CubicBezierLine.cjs.js +1 -0
  70. package/core/CubicBezierLine.d.ts +12 -0
  71. package/core/CubicBezierLine.js +28 -0
  72. package/core/CurveModifier.cjs.js +1 -0
  73. package/core/CurveModifier.d.ts +11 -0
  74. package/core/CurveModifier.js +27 -0
  75. package/core/Decal.cjs.js +1 -0
  76. package/core/Decal.d.ts +16 -0
  77. package/core/Decal.js +128 -0
  78. package/core/Detailed.cjs.js +1 -0
  79. package/core/Detailed.d.ts +10 -0
  80. package/core/Detailed.js +33 -0
  81. package/core/DetectGPU.cjs.js +1 -0
  82. package/core/DetectGPU.d.ts +7 -0
  83. package/core/DetectGPU.js +14 -0
  84. package/core/DeviceOrientationControls.cjs.js +1 -0
  85. package/core/DeviceOrientationControls.d.ts +10 -0
  86. package/core/DeviceOrientationControls.js +51 -0
  87. package/core/Edges.cjs.js +1 -0
  88. package/core/Edges.d.ts +13 -0
  89. package/core/Edges.js +38 -0
  90. package/core/Effects.cjs.js +1 -0
  91. package/core/Effects.d.ts +25 -0
  92. package/core/Effects.js +91 -0
  93. package/core/Environment.cjs.js +1 -0
  94. package/core/Environment.d.ts +37 -0
  95. package/core/Environment.js +189 -0
  96. package/core/Example.cjs.js +1 -0
  97. package/core/Example.d.ts +13 -0
  98. package/core/Example.js +46 -0
  99. package/core/Fbo.cjs.js +1 -0
  100. package/core/Fbo.d.ts +22 -0
  101. package/core/Fbo.js +63 -0
  102. package/core/Fbx.cjs.js +1 -0
  103. package/core/Fbx.d.ts +11 -0
  104. package/core/Fbx.js +23 -0
  105. package/core/FirstPersonControls.cjs.js +1 -0
  106. package/core/FirstPersonControls.d.ts +8 -0
  107. package/core/FirstPersonControls.js +38 -0
  108. package/core/Fisheye.cjs.js +1 -0
  109. package/core/Fisheye.d.ts +10 -0
  110. package/core/Fisheye.js +95 -0
  111. package/core/Float.cjs.js +1 -0
  112. package/core/Float.d.ts +14 -0
  113. package/core/Float.js +37 -0
  114. package/core/FlyControls.cjs.js +1 -0
  115. package/core/FlyControls.d.ts +10 -0
  116. package/core/FlyControls.js +55 -0
  117. package/core/GizmoHelper.cjs.js +1 -0
  118. package/core/GizmoHelper.d.ts +16 -0
  119. package/core/GizmoHelper.js +116 -0
  120. package/core/GizmoViewcube.cjs.js +1 -0
  121. package/core/GizmoViewcube.d.ts +14 -0
  122. package/core/GizmoViewcube.js +133 -0
  123. package/core/GizmoViewport.cjs.js +1 -0
  124. package/core/GizmoViewport.d.ts +16 -0
  125. package/core/GizmoViewport.js +140 -0
  126. package/core/Gltf.cjs.js +1 -0
  127. package/core/Gltf.d.ts +27 -0
  128. package/core/Gltf.js +52 -0
  129. package/core/GradientTexture.cjs.js +1 -0
  130. package/core/GradientTexture.d.ts +18 -0
  131. package/core/GradientTexture.js +54 -0
  132. package/core/Grid.cjs.js +1 -0
  133. package/core/Grid.d.ts +26 -0
  134. package/core/Grid.js +142 -0
  135. package/core/Helper.cjs.js +1 -0
  136. package/core/Helper.d.ts +16 -0
  137. package/core/Helper.js +47 -0
  138. package/core/Hud.cjs.js +1 -0
  139. package/core/Hud.d.ts +6 -0
  140. package/core/Hud.js +55 -0
  141. package/core/Image.cjs.js +1 -0
  142. package/core/Image.d.ts +38 -0
  143. package/core/Image.js +160 -0
  144. package/core/Instances.cjs.js +1 -0
  145. package/core/Instances.d.ts +64 -0
  146. package/core/Instances.js +313 -0
  147. package/core/Ktx2.cjs.js +1 -0
  148. package/core/Ktx2.d.ts +14 -0
  149. package/core/Ktx2.js +48 -0
  150. package/core/Lightformer.cjs.js +1 -0
  151. package/core/Lightformer.d.ts +15 -0
  152. package/core/Lightformer.js +63 -0
  153. package/core/Line.cjs.js +1 -0
  154. package/core/Line.d.ts +13 -0
  155. package/core/Line.js +73 -0
  156. package/core/MapControls.cjs.js +1 -0
  157. package/core/MapControls.d.ts +14 -0
  158. package/core/MapControls.js +63 -0
  159. package/core/MarchingCubes.cjs.js +1 -0
  160. package/core/MarchingCubes.d.ts +24 -0
  161. package/core/MarchingCubes.js +78 -0
  162. package/core/Mask.cjs.js +1 -0
  163. package/core/Mask.d.ts +17 -0
  164. package/core/Mask.js +42 -0
  165. package/core/MatcapTexture.cjs.js +1 -0
  166. package/core/MatcapTexture.d.ts +9 -0
  167. package/core/MatcapTexture.js +51 -0
  168. package/core/MeshDiscardMaterial.cjs.js +1 -0
  169. package/core/MeshDiscardMaterial.d.ts +10 -0
  170. package/core/MeshDiscardMaterial.js +15 -0
  171. package/core/MeshDistortMaterial.cjs.js +1 -0
  172. package/core/MeshDistortMaterial.d.ts +39 -0
  173. package/core/MeshDistortMaterial.js +72 -0
  174. package/core/MeshPortalMaterial.cjs.js +1 -0
  175. package/core/MeshPortalMaterial.d.ts +25 -0
  176. package/core/MeshPortalMaterial.js +467 -0
  177. package/core/MeshReflectorMaterial.cjs.js +1 -0
  178. package/core/MeshReflectorMaterial.d.ts +14 -0
  179. package/core/MeshReflectorMaterial.js +180 -0
  180. package/core/MeshRefractionMaterial.cjs.js +1 -0
  181. package/core/MeshRefractionMaterial.d.ts +19 -0
  182. package/core/MeshRefractionMaterial.js +73 -0
  183. package/core/MeshTransmissionMaterial.cjs.js +1 -0
  184. package/core/MeshTransmissionMaterial.d.ts +34 -0
  185. package/core/MeshTransmissionMaterial.js +402 -0
  186. package/core/MeshWobbleMaterial.cjs.js +1 -0
  187. package/core/MeshWobbleMaterial.d.ts +36 -0
  188. package/core/MeshWobbleMaterial.js +60 -0
  189. package/core/MotionPathControls.cjs.js +1 -0
  190. package/core/MotionPathControls.d.ts +33 -0
  191. package/core/MotionPathControls.js +121 -0
  192. package/core/MultiMaterial.cjs.js +1 -0
  193. package/core/MultiMaterial.d.ts +4 -0
  194. package/core/MultiMaterial.js +29 -0
  195. package/core/NormalTexture.cjs.js +1 -0
  196. package/core/NormalTexture.d.ts +14 -0
  197. package/core/NormalTexture.js +42 -0
  198. package/core/OrbitControls.cjs.js +1 -0
  199. package/core/OrbitControls.d.ts +22 -0
  200. package/core/OrbitControls.js +79 -0
  201. package/core/OrthographicCamera.cjs.js +1 -0
  202. package/core/OrthographicCamera.d.ts +14 -0
  203. package/core/OrthographicCamera.js +76 -0
  204. package/core/Outlines.cjs.js +1 -0
  205. package/core/Outlines.d.ts +17 -0
  206. package/core/Outlines.js +166 -0
  207. package/core/PerformanceMonitor.cjs.js +1 -0
  208. package/core/PerformanceMonitor.d.ts +36 -0
  209. package/core/PerformanceMonitor.js +116 -0
  210. package/core/PerspectiveCamera.cjs.js +1 -0
  211. package/core/PerspectiveCamera.d.ts +14 -0
  212. package/core/PerspectiveCamera.js +72 -0
  213. package/core/PointMaterial.cjs.js +1 -0
  214. package/core/PointMaterial.d.ts +8 -0
  215. package/core/PointMaterial.js +36 -0
  216. package/core/PointerLockControls.cjs.js +1 -0
  217. package/core/PointerLockControls.d.ts +15 -0
  218. package/core/PointerLockControls.js +89 -0
  219. package/core/Points.cjs.js +1 -0
  220. package/core/Points.d.ts +31 -0
  221. package/core/Points.js +202 -0
  222. package/core/PositionalAudio.cjs.js +1 -0
  223. package/core/PositionalAudio.d.ts +9 -0
  224. package/core/PositionalAudio.js +46 -0
  225. package/core/Preload.cjs.js +1 -0
  226. package/core/Preload.d.ts +7 -0
  227. package/core/Preload.js +44 -0
  228. package/core/Progress.cjs.js +1 -0
  229. package/core/Progress.d.ts +14 -0
  230. package/core/Progress.js +55 -0
  231. package/core/QuadraticBezierLine.cjs.js +1 -0
  232. package/core/QuadraticBezierLine.d.ts +14 -0
  233. package/core/QuadraticBezierLine.js +42 -0
  234. package/core/RenderCubeTexture.cjs.js +1 -0
  235. package/core/RenderCubeTexture.d.ts +30 -0
  236. package/core/RenderCubeTexture.js +96 -0
  237. package/core/RenderTexture.cjs.js +1 -0
  238. package/core/RenderTexture.d.ts +18 -0
  239. package/core/RenderTexture.js +105 -0
  240. package/core/Resize.cjs.js +1 -0
  241. package/core/Resize.d.ts +17 -0
  242. package/core/Resize.js +39 -0
  243. package/core/RoundedBox.cjs.js +1 -0
  244. package/core/RoundedBox.d.ts +14 -0
  245. package/core/RoundedBox.js +70 -0
  246. package/core/Sampler.cjs.js +1 -0
  247. package/core/Sampler.d.ts +28 -0
  248. package/core/Sampler.js +75 -0
  249. package/core/ScreenQuad.cjs.js +1 -0
  250. package/core/ScreenQuad.d.ts +5 -0
  251. package/core/ScreenQuad.js +25 -0
  252. package/core/ScreenSizer.cjs.js +1 -0
  253. package/core/ScreenSizer.d.ts +7 -0
  254. package/core/ScreenSizer.js +39 -0
  255. package/core/ScreenSpace.cjs.js +1 -0
  256. package/core/ScreenSpace.d.ts +7 -0
  257. package/core/ScreenSpace.js +25 -0
  258. package/core/Segments.cjs.js +1 -0
  259. package/core/Segments.d.ts +29 -0
  260. package/core/Segments.js +96 -0
  261. package/core/Shadow.cjs.js +1 -0
  262. package/core/Shadow.d.ts +12 -0
  263. package/core/Shadow.js +42 -0
  264. package/core/ShadowAlpha.cjs.js +1 -0
  265. package/core/ShadowAlpha.d.ts +7 -0
  266. package/core/ShadowAlpha.js +108 -0
  267. package/core/Sky.cjs.js +1 -0
  268. package/core/Sky.d.ts +16 -0
  269. package/core/Sky.js +39 -0
  270. package/core/Sparkles.cjs.js +1 -0
  271. package/core/Sparkles.d.ts +26 -0
  272. package/core/Sparkles.js +161 -0
  273. package/core/Splat.cjs.js +1 -0
  274. package/core/Splat.d.ts +56 -0
  275. package/core/Splat.js +506 -0
  276. package/core/SpotLight.cjs.js +1 -0
  277. package/core/SpotLight.d.ts +27 -0
  278. package/core/SpotLight.js +223 -0
  279. package/core/SpriteAnimator.cjs.js +1 -0
  280. package/core/SpriteAnimator.d.ts +88 -0
  281. package/core/SpriteAnimator.js +413 -0
  282. package/core/Stage.cjs.js +1 -0
  283. package/core/Stage.d.ts +27 -0
  284. package/core/Stage.js +133 -0
  285. package/core/Stars.cjs.js +1 -0
  286. package/core/Stars.d.ts +22 -0
  287. package/core/Stars.js +100 -0
  288. package/core/Stats.cjs.js +1 -0
  289. package/core/Stats.d.ts +7 -0
  290. package/core/Stats.js +32 -0
  291. package/core/StatsGl.cjs.js +1 -0
  292. package/core/StatsGl.d.ts +14 -0
  293. package/core/StatsGl.js +44 -0
  294. package/core/Svg.cjs.js +1 -0
  295. package/core/Svg.d.ts +13 -0
  296. package/core/Svg.js +62 -0
  297. package/core/Text.cjs.js +1 -0
  298. package/core/Text.d.ts +38 -0
  299. package/core/Text.js +57 -0
  300. package/core/Text3D.cjs.js +1 -0
  301. package/core/Text3D.d.ts +20 -0
  302. package/core/Text3D.js +74 -0
  303. package/core/Texture.cjs.js +1 -0
  304. package/core/Texture.d.ts +20 -0
  305. package/core/Texture.js +60 -0
  306. package/core/TrackballControls.cjs.js +1 -0
  307. package/core/TrackballControls.d.ts +15 -0
  308. package/core/TrackballControls.js +72 -0
  309. package/core/Trail.cjs.js +1 -0
  310. package/core/Trail.d.ts +21 -0
  311. package/core/Trail.js +150 -0
  312. package/core/TrailTexture.cjs.js +1 -0
  313. package/core/TrailTexture.d.ts +19 -0
  314. package/core/TrailTexture.js +159 -0
  315. package/core/TransformControls.cjs.js +1 -0
  316. package/core/TransformControls.d.ts +28 -0
  317. package/core/TransformControls.js +114 -0
  318. package/core/VideoTexture.cjs.js +1 -0
  319. package/core/VideoTexture.d.ts +26 -0
  320. package/core/VideoTexture.js +111 -0
  321. package/core/Wireframe.cjs.js +1 -0
  322. package/core/Wireframe.d.ts +15 -0
  323. package/core/Wireframe.js +157 -0
  324. package/core/calculateScaleFactor.cjs.js +1 -0
  325. package/core/calculateScaleFactor.d.ts +3 -0
  326. package/core/calculateScaleFactor.js +31 -0
  327. package/core/index.cjs.js +1 -0
  328. package/core/index.d.ts +122 -0
  329. package/core/index.js +150 -0
  330. package/core/meshBounds.cjs.js +1 -0
  331. package/core/meshBounds.d.ts +2 -0
  332. package/core/meshBounds.js +28 -0
  333. package/core/shaderMaterial.cjs.js +1 -0
  334. package/core/shaderMaterial.d.ts +9 -0
  335. package/core/shaderMaterial.js +29 -0
  336. package/core/shapes.cjs.js +1 -0
  337. package/core/shapes.d.ts +26 -0
  338. package/core/shapes.js +65 -0
  339. package/core/softShadows.cjs.js +1 -0
  340. package/core/softShadows.d.ts +6 -0
  341. package/core/softShadows.js +158 -0
  342. package/core/useAnimations.cjs.js +1 -0
  343. package/core/useAnimations.d.ts +13 -0
  344. package/core/useAnimations.js +52 -0
  345. package/core/useAspect.cjs.js +1 -0
  346. package/core/useAspect.d.ts +1 -0
  347. package/core/useAspect.js +10 -0
  348. package/core/useBoxProjectedEnv.cjs.js +1 -0
  349. package/core/useBoxProjectedEnv.d.ts +19 -0
  350. package/core/useBoxProjectedEnv.js +95 -0
  351. package/core/useCamera.cjs.js +1 -0
  352. package/core/useCamera.d.ts +3 -0
  353. package/core/useCamera.js +19 -0
  354. package/core/useContextBridge.cjs.js +1 -0
  355. package/core/useContextBridge.d.ts +4 -0
  356. package/core/useContextBridge.js +20 -0
  357. package/core/useDepthBuffer.cjs.js +1 -0
  358. package/core/useDepthBuffer.d.ts +6 -0
  359. package/core/useDepthBuffer.js +38 -0
  360. package/core/useEnvironment.cjs.js +1 -0
  361. package/core/useEnvironment.d.ts +17 -0
  362. package/core/useEnvironment.js +150 -0
  363. package/core/useFont.cjs.js +1 -0
  364. package/core/useFont.d.ts +24 -0
  365. package/core/useFont.js +24 -0
  366. package/core/useIntersect.cjs.js +1 -0
  367. package/core/useIntersect.d.ts +3 -0
  368. package/core/useIntersect.js +36 -0
  369. package/core/useSpriteLoader.cjs.js +1 -0
  370. package/core/useSpriteLoader.d.ts +57 -0
  371. package/core/useSpriteLoader.js +402 -0
  372. package/helpers/constants.cjs.js +1 -0
  373. package/helpers/constants.d.ts +1 -0
  374. package/helpers/constants.js +6 -0
  375. package/helpers/deprecated.cjs.js +1 -0
  376. package/helpers/deprecated.d.ts +5 -0
  377. package/helpers/deprecated.js +8 -0
  378. package/helpers/environment-assets.cjs.js +1 -0
  379. package/helpers/environment-assets.d.ts +13 -0
  380. package/helpers/environment-assets.js +14 -0
  381. package/helpers/glsl/DefaultSpotlightShadowShadows.glsl.js +3 -0
  382. package/helpers/glsl/distort.vert.glsl.js +3 -0
  383. package/helpers/ts-utils.cjs.js +1 -0
  384. package/helpers/ts-utils.d.ts +7 -0
  385. package/helpers/ts-utils.js +1 -0
  386. package/helpers/useEffectfulState.cjs.js +1 -0
  387. package/helpers/useEffectfulState.d.ts +4 -0
  388. package/helpers/useEffectfulState.js +17 -0
  389. package/index.cjs.js +1 -0
  390. package/index.d.ts +1 -0
  391. package/index.js +139 -0
  392. package/materials/BlurPass.cjs.js +1 -0
  393. package/materials/BlurPass.d.ts +23 -0
  394. package/materials/BlurPass.js +72 -0
  395. package/materials/ConvolutionMaterial.cjs.js +1 -0
  396. package/materials/ConvolutionMaterial.d.ts +7 -0
  397. package/materials/ConvolutionMaterial.js +97 -0
  398. package/materials/DiscardMaterial.cjs.js +1 -0
  399. package/materials/DiscardMaterial.d.ts +3 -0
  400. package/materials/DiscardMaterial.js +5 -0
  401. package/materials/MeshReflectorMaterial.cjs.js +1 -0
  402. package/materials/MeshReflectorMaterial.d.ts +50 -0
  403. package/materials/MeshReflectorMaterial.js +256 -0
  404. package/materials/MeshRefractionMaterial.cjs.js +1 -0
  405. package/materials/MeshRefractionMaterial.d.ts +18 -0
  406. package/materials/MeshRefractionMaterial.js +163 -0
  407. package/materials/SpotLightMaterial.cjs.js +1 -0
  408. package/materials/SpotLightMaterial.d.ts +4 -0
  409. package/materials/SpotLightMaterial.js +115 -0
  410. package/materials/WireframeMaterial.cjs.js +1 -0
  411. package/materials/WireframeMaterial.d.ts +64 -0
  412. package/materials/WireframeMaterial.js +217 -0
  413. package/native/index.cjs.js +1 -0
  414. package/native/index.d.ts +1 -0
  415. package/native/index.js +150 -0
  416. package/native/package.json +5 -0
  417. package/package.json +83 -0
  418. package/web/CycleRaycast.cjs.js +1 -0
  419. package/web/CycleRaycast.d.ts +10 -0
  420. package/web/CycleRaycast.js +93 -0
  421. package/web/DragControls.cjs.js +1 -0
  422. package/web/DragControls.d.ts +17 -0
  423. package/web/DragControls.js +127 -0
  424. package/web/FaceControls.cjs.js +1 -0
  425. package/web/FaceControls.d.ts +29 -0
  426. package/web/FaceControls.js +236 -0
  427. package/web/FaceLandmarker.cjs.js +1 -0
  428. package/web/FaceLandmarker.d.ts +14 -0
  429. package/web/FaceLandmarker.js +49 -0
  430. package/web/Facemesh.cjs.js +1 -0
  431. package/web/Facemesh.d.ts +118 -0
  432. package/web/Facemesh.js +4538 -0
  433. package/web/Html.cjs.js +1 -0
  434. package/web/Html.d.ts +34 -0
  435. package/web/Html.js +375 -0
  436. package/web/KeyboardControls.cjs.js +1 -0
  437. package/web/KeyboardControls.d.ts +37 -0
  438. package/web/KeyboardControls.js +104 -0
  439. package/web/Loader.cjs.js +1 -0
  440. package/web/Loader.d.ts +12 -0
  441. package/web/Loader.js +101 -0
  442. package/web/PresentationControls.cjs.js +1 -0
  443. package/web/PresentationControls.d.ts +16 -0
  444. package/web/PresentationControls.js +79 -0
  445. package/web/ScreenVideoTexture.cjs.js +1 -0
  446. package/web/ScreenVideoTexture.d.ts +17 -0
  447. package/web/ScreenVideoTexture.js +30 -0
  448. package/web/ScrollControls.cjs.js +1 -0
  449. package/web/ScrollControls.d.ts +45 -0
  450. package/web/ScrollControls.js +237 -0
  451. package/web/Select.cjs.js +1 -0
  452. package/web/Select.d.ts +14 -0
  453. package/web/Select.js +171 -0
  454. package/web/View.cjs.js +1 -0
  455. package/web/View.d.ts +34 -0
  456. package/web/View.js +259 -0
  457. package/web/WebcamVideoTexture.cjs.js +1 -0
  458. package/web/WebcamVideoTexture.d.ts +17 -0
  459. package/web/WebcamVideoTexture.js +33 -0
  460. package/web/index.cjs.js +1 -0
  461. package/web/index.d.ts +17 -0
  462. package/web/index.js +176 -0
  463. package/web/pivotControls/AxisArrow.cjs.js +1 -0
  464. package/web/pivotControls/AxisArrow.d.ts +7 -0
  465. package/web/pivotControls/AxisArrow.js +193 -0
  466. package/web/pivotControls/AxisRotator.cjs.js +1 -0
  467. package/web/pivotControls/AxisRotator.d.ts +7 -0
  468. package/web/pivotControls/AxisRotator.js +220 -0
  469. package/web/pivotControls/PlaneSlider.cjs.js +1 -0
  470. package/web/pivotControls/PlaneSlider.d.ts +7 -0
  471. package/web/pivotControls/PlaneSlider.js +202 -0
  472. package/web/pivotControls/ScalingSphere.cjs.js +1 -0
  473. package/web/pivotControls/ScalingSphere.d.ts +7 -0
  474. package/web/pivotControls/ScalingSphere.js +192 -0
  475. package/web/pivotControls/context.cjs.js +1 -0
  476. package/web/pivotControls/context.d.ts +33 -0
  477. package/web/pivotControls/context.js +5 -0
  478. package/web/pivotControls/index.cjs.js +1 -0
  479. package/web/pivotControls/index.d.ts +39 -0
  480. package/web/pivotControls/index.js +213 -0
  481. package/web/useCursor.cjs.js +1 -0
  482. package/web/useCursor.d.ts +1 -0
  483. package/web/useCursor.js +12 -0
@@ -0,0 +1,217 @@
1
+ import * as THREE from 'three';
2
+ import * as React from 'react';
3
+ import { shaderMaterial } from '../core/shaderMaterial.js';
4
+
5
+ const WireframeMaterialShaders = {
6
+ uniforms: {
7
+ strokeOpacity: 1,
8
+ fillOpacity: 0.25,
9
+ fillMix: 0,
10
+ thickness: 0.05,
11
+ colorBackfaces: false,
12
+ dashInvert: true,
13
+ dash: false,
14
+ dashRepeats: 4,
15
+ dashLength: 0.5,
16
+ squeeze: false,
17
+ squeezeMin: 0.2,
18
+ squeezeMax: 1,
19
+ stroke: /* @__PURE__ */new THREE.Color('#ff0000'),
20
+ backfaceStroke: /* @__PURE__ */new THREE.Color('#0000ff'),
21
+ fill: /* @__PURE__ */new THREE.Color('#00ff00')
22
+ },
23
+ vertex: /* glsl */`
24
+ attribute vec3 barycentric;
25
+
26
+ varying vec3 v_edges_Barycentric;
27
+ varying vec3 v_edges_Position;
28
+
29
+ void initWireframe() {
30
+ v_edges_Barycentric = barycentric;
31
+ v_edges_Position = position.xyz;
32
+ }
33
+ `,
34
+ fragment: /* glsl */`
35
+ #ifndef PI
36
+ #define PI 3.1415926535897932384626433832795
37
+ #endif
38
+
39
+ varying vec3 v_edges_Barycentric;
40
+ varying vec3 v_edges_Position;
41
+
42
+ uniform float strokeOpacity;
43
+ uniform float fillOpacity;
44
+ uniform float fillMix;
45
+ uniform float thickness;
46
+ uniform bool colorBackfaces;
47
+
48
+ // Dash
49
+ uniform bool dashInvert;
50
+ uniform bool dash;
51
+ uniform bool dashOnly;
52
+ uniform float dashRepeats;
53
+ uniform float dashLength;
54
+
55
+ // Squeeze
56
+ uniform bool squeeze;
57
+ uniform float squeezeMin;
58
+ uniform float squeezeMax;
59
+
60
+ // Colors
61
+ uniform vec3 stroke;
62
+ uniform vec3 backfaceStroke;
63
+ uniform vec3 fill;
64
+
65
+ // This is like
66
+ float wireframe_aastep(float threshold, float dist) {
67
+ float afwidth = fwidth(dist) * 0.5;
68
+ return smoothstep(threshold - afwidth, threshold + afwidth, dist);
69
+ }
70
+
71
+ float wireframe_map(float value, float min1, float max1, float min2, float max2) {
72
+ return min2 + (value - min1) * (max2 - min2) / (max1 - min1);
73
+ }
74
+
75
+ float getWireframe() {
76
+ vec3 barycentric = v_edges_Barycentric;
77
+
78
+ // Distance from center of each triangle to its edges.
79
+ float d = min(min(barycentric.x, barycentric.y), barycentric.z);
80
+
81
+ // for dashed rendering, we can use this to get the 0 .. 1 value of the line length
82
+ float positionAlong = max(barycentric.x, barycentric.y);
83
+ if (barycentric.y < barycentric.x && barycentric.y < barycentric.z) {
84
+ positionAlong = 1.0 - positionAlong;
85
+ }
86
+
87
+ // the thickness of the stroke
88
+ float computedThickness = wireframe_map(thickness, 0.0, 1.0, 0.0, 0.34);
89
+
90
+ // if we want to shrink the thickness toward the center of the line segment
91
+ if (squeeze) {
92
+ computedThickness *= mix(squeezeMin, squeezeMax, (1.0 - sin(positionAlong * PI)));
93
+ }
94
+
95
+ // Create dash pattern
96
+ if (dash) {
97
+ // here we offset the stroke position depending on whether it
98
+ // should overlap or not
99
+ float offset = 1.0 / dashRepeats * dashLength / 2.0;
100
+ if (!dashInvert) {
101
+ offset += 1.0 / dashRepeats / 2.0;
102
+ }
103
+
104
+ // if we should animate the dash or not
105
+ // if (dashAnimate) {
106
+ // offset += time * 0.22;
107
+ // }
108
+
109
+ // create the repeating dash pattern
110
+ float pattern = fract((positionAlong + offset) * dashRepeats);
111
+ computedThickness *= 1.0 - wireframe_aastep(dashLength, pattern);
112
+ }
113
+
114
+ // compute the anti-aliased stroke edge
115
+ float edge = 1.0 - wireframe_aastep(computedThickness, d);
116
+
117
+ return edge;
118
+ }
119
+ `
120
+ };
121
+ const WireframeMaterial = /* @__PURE__ */shaderMaterial(WireframeMaterialShaders.uniforms, WireframeMaterialShaders.vertex + /* glsl */`
122
+ void main() {
123
+ initWireframe();
124
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
125
+ }
126
+ `, WireframeMaterialShaders.fragment + /* glsl */`
127
+ void main () {
128
+ // Compute color
129
+
130
+ float edge = getWireframe();
131
+ vec4 colorStroke = vec4(stroke, edge);
132
+
133
+ #ifdef FLIP_SIDED
134
+ colorStroke.rgb = backfaceStroke;
135
+ #endif
136
+
137
+ vec4 colorFill = vec4(fill, fillOpacity);
138
+ vec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);
139
+
140
+ gl_FragColor = outColor;
141
+ }
142
+ `);
143
+ function setWireframeOverride(material, uniforms) {
144
+ material.onBeforeCompile = shader => {
145
+ shader.uniforms = {
146
+ ...shader.uniforms,
147
+ ...uniforms
148
+ };
149
+ shader.vertexShader = shader.vertexShader.replace('void main() {', `
150
+ ${WireframeMaterialShaders.vertex}
151
+ void main() {
152
+ initWireframe();
153
+ `);
154
+ shader.fragmentShader = shader.fragmentShader.replace('void main() {', `
155
+ ${WireframeMaterialShaders.fragment}
156
+ void main() {
157
+ `);
158
+ shader.fragmentShader = shader.fragmentShader.replace('#include <color_fragment>', /* glsl */`
159
+ #include <color_fragment>
160
+ float edge = getWireframe();
161
+ vec4 colorStroke = vec4(stroke, edge);
162
+ #ifdef FLIP_SIDED
163
+ colorStroke.rgb = backfaceStroke;
164
+ #endif
165
+ vec4 colorFill = vec4(mix(diffuseColor.rgb, fill, fillMix), mix(diffuseColor.a, fillOpacity, fillMix));
166
+ vec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);
167
+
168
+ diffuseColor.rgb = outColor.rgb;
169
+ diffuseColor.a *= outColor.a;
170
+ `);
171
+ };
172
+ material.side = THREE.DoubleSide;
173
+ material.transparent = true;
174
+ }
175
+ function useWireframeUniforms(uniforms, props) {
176
+ React.useEffect(() => {
177
+ var _props$fillOpacity;
178
+ return void (uniforms.fillOpacity.value = (_props$fillOpacity = props.fillOpacity) !== null && _props$fillOpacity !== void 0 ? _props$fillOpacity : uniforms.fillOpacity.value);
179
+ }, [props.fillOpacity]);
180
+ React.useEffect(() => {
181
+ var _props$fillMix;
182
+ return void (uniforms.fillMix.value = (_props$fillMix = props.fillMix) !== null && _props$fillMix !== void 0 ? _props$fillMix : uniforms.fillMix.value);
183
+ }, [props.fillMix]);
184
+ React.useEffect(() => {
185
+ var _props$strokeOpacity;
186
+ return void (uniforms.strokeOpacity.value = (_props$strokeOpacity = props.strokeOpacity) !== null && _props$strokeOpacity !== void 0 ? _props$strokeOpacity : uniforms.strokeOpacity.value);
187
+ }, [props.strokeOpacity]);
188
+ React.useEffect(() => {
189
+ var _props$thickness;
190
+ return void (uniforms.thickness.value = (_props$thickness = props.thickness) !== null && _props$thickness !== void 0 ? _props$thickness : uniforms.thickness.value);
191
+ }, [props.thickness]);
192
+ React.useEffect(() => void (uniforms.colorBackfaces.value = !!props.colorBackfaces), [props.colorBackfaces]);
193
+ React.useEffect(() => void (uniforms.dash.value = !!props.dash), [props.dash]);
194
+ React.useEffect(() => void (uniforms.dashInvert.value = !!props.dashInvert), [props.dashInvert]);
195
+ React.useEffect(() => {
196
+ var _props$dashRepeats;
197
+ return void (uniforms.dashRepeats.value = (_props$dashRepeats = props.dashRepeats) !== null && _props$dashRepeats !== void 0 ? _props$dashRepeats : uniforms.dashRepeats.value);
198
+ }, [props.dashRepeats]);
199
+ React.useEffect(() => {
200
+ var _props$dashLength;
201
+ return void (uniforms.dashLength.value = (_props$dashLength = props.dashLength) !== null && _props$dashLength !== void 0 ? _props$dashLength : uniforms.dashLength.value);
202
+ }, [props.dashLength]);
203
+ React.useEffect(() => void (uniforms.squeeze.value = !!props.squeeze), [props.squeeze]);
204
+ React.useEffect(() => {
205
+ var _props$squeezeMin;
206
+ return void (uniforms.squeezeMin.value = (_props$squeezeMin = props.squeezeMin) !== null && _props$squeezeMin !== void 0 ? _props$squeezeMin : uniforms.squeezeMin.value);
207
+ }, [props.squeezeMin]);
208
+ React.useEffect(() => {
209
+ var _props$squeezeMax;
210
+ return void (uniforms.squeezeMax.value = (_props$squeezeMax = props.squeezeMax) !== null && _props$squeezeMax !== void 0 ? _props$squeezeMax : uniforms.squeezeMax.value);
211
+ }, [props.squeezeMax]);
212
+ React.useEffect(() => void (uniforms.stroke.value = props.stroke ? new THREE.Color(props.stroke) : uniforms.stroke.value), [props.stroke]);
213
+ React.useEffect(() => void (uniforms.fill.value = props.fill ? new THREE.Color(props.fill) : uniforms.fill.value), [props.fill]);
214
+ React.useEffect(() => void (uniforms.backfaceStroke.value = props.backfaceStroke ? new THREE.Color(props.backfaceStroke) : uniforms.backfaceStroke.value), [props.backfaceStroke]);
215
+ }
216
+
217
+ export { WireframeMaterial, WireframeMaterialShaders, setWireframeOverride, useWireframeUniforms };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/ScreenSpace.cjs.js"),s=require("../core/ScreenSizer.cjs.js"),o=require("../core/QuadraticBezierLine.cjs.js"),t=require("../core/CubicBezierLine.cjs.js"),i=require("../core/CatmullRomLine.cjs.js"),a=require("../core/Line.cjs.js"),c=require("../core/PositionalAudio.cjs.js"),u=require("../core/Text.cjs.js"),n=require("../core/Text3D.cjs.js"),p=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),x=require("../core/Image.cjs.js"),l=require("../core/Edges.cjs.js"),d=require("../core/Outlines.cjs.js"),q=require("../core/Trail.cjs.js"),m=require("../core/Sampler.cjs.js"),h=require("../core/ComputedAttribute.cjs.js"),C=require("../core/Clone.cjs.js"),M=require("../core/MarchingCubes.cjs.js"),S=require("../core/Decal.cjs.js"),T=require("../core/Svg.cjs.js"),b=require("../core/Gltf.cjs.js"),P=require("../core/AsciiRenderer.cjs.js"),f=require("../core/Splat.cjs.js"),g=require("../core/OrthographicCamera.cjs.js"),B=require("../core/PerspectiveCamera.cjs.js"),v=require("../core/CubeCamera.cjs.js"),A=require("../core/DeviceOrientationControls.cjs.js"),F=require("../core/FlyControls.cjs.js"),G=require("../core/MapControls.cjs.js"),L=require("../core/OrbitControls.cjs.js"),D=require("../core/TrackballControls.cjs.js"),E=require("../core/ArcballControls.cjs.js"),R=require("../core/TransformControls.cjs.js"),k=require("../core/PointerLockControls.cjs.js"),I=require("../core/FirstPersonControls.cjs.js"),w=require("../core/CameraControls.cjs.js"),z=require("camera-controls"),y=require("../core/MotionPathControls.cjs.js"),O=require("../core/GizmoHelper.cjs.js"),H=require("../core/GizmoViewcube.cjs.js"),V=require("../core/GizmoViewport.cjs.js"),W=require("../core/Grid.cjs.js"),K=require("../core/CubeTexture.cjs.js"),Q=require("../core/Fbx.cjs.js"),N=require("../core/Ktx2.cjs.js"),U=require("../core/Progress.cjs.js"),X=require("../core/Texture.cjs.js"),_=require("../core/VideoTexture.cjs.js"),J=require("../core/useFont.cjs.js"),Y=require("../core/useSpriteLoader.cjs.js"),Z=require("../core/Helper.cjs.js"),$=require("../core/Stats.cjs.js"),ee=require("../core/StatsGl.cjs.js"),re=require("../core/useDepthBuffer.cjs.js"),se=require("../core/useAspect.cjs.js"),oe=require("../core/useCamera.cjs.js"),te=require("../core/DetectGPU.cjs.js"),ie=require("../core/Bvh.cjs.js"),ae=require("../core/useContextBridge.cjs.js"),ce=require("../core/useAnimations.cjs.js"),ue=require("../core/Fbo.cjs.js"),ne=require("../core/useIntersect.cjs.js"),pe=require("../core/useBoxProjectedEnv.cjs.js"),je=require("../core/BBAnchor.cjs.js"),xe=require("../core/TrailTexture.cjs.js"),le=require("../core/Example.cjs.js"),de=require("../core/SpriteAnimator.cjs.js"),qe=require("../core/CurveModifier.cjs.js"),me=require("../core/MeshDistortMaterial.cjs.js"),he=require("../core/MeshWobbleMaterial.cjs.js"),Ce=require("../core/MeshReflectorMaterial.cjs.js"),Me=require("../core/MeshRefractionMaterial.cjs.js"),Se=require("../core/MeshTransmissionMaterial.cjs.js"),Te=require("../core/MeshDiscardMaterial.cjs.js"),be=require("../core/MultiMaterial.cjs.js"),Pe=require("../core/PointMaterial.cjs.js"),fe=require("../core/shaderMaterial.cjs.js"),ge=require("../core/softShadows.cjs.js"),Be=require("../core/shapes.cjs.js"),ve=require("../core/RoundedBox.cjs.js"),Ae=require("../core/ScreenQuad.cjs.js"),Fe=require("../core/Center.cjs.js"),Ge=require("../core/Resize.cjs.js"),Le=require("../core/Bounds.cjs.js"),De=require("../core/CameraShake.cjs.js"),Ee=require("../core/Float.cjs.js"),Re=require("../core/Stage.cjs.js"),ke=require("../core/Backdrop.cjs.js"),Ie=require("../core/Shadow.cjs.js"),we=require("../core/Caustics.cjs.js"),ze=require("../core/ContactShadows.cjs.js"),ye=require("../core/AccumulativeShadows.cjs.js"),Oe=require("../core/SpotLight.cjs.js"),He=require("../core/Environment.cjs.js"),Ve=require("../core/Lightformer.cjs.js"),We=require("../core/Sky.cjs.js"),Ke=require("../core/Stars.cjs.js"),Qe=require("../core/Cloud.cjs.js"),Ne=require("../core/Sparkles.cjs.js"),Ue=require("../core/useEnvironment.cjs.js"),Xe=require("../core/MatcapTexture.cjs.js"),_e=require("../core/NormalTexture.cjs.js"),Je=require("../core/Wireframe.cjs.js"),Ye=require("../core/ShadowAlpha.cjs.js"),Ze=require("../core/Points.cjs.js"),$e=require("../core/Instances.cjs.js"),er=require("../core/Segments.cjs.js"),rr=require("../core/Detailed.cjs.js"),sr=require("../core/Preload.cjs.js"),or=require("../core/BakeShadows.cjs.js"),tr=require("../core/meshBounds.cjs.js"),ir=require("../core/AdaptiveDpr.cjs.js"),ar=require("../core/AdaptiveEvents.cjs.js"),cr=require("../core/PerformanceMonitor.cjs.js"),ur=require("../core/RenderTexture.cjs.js"),nr=require("../core/RenderCubeTexture.cjs.js"),pr=require("../core/Mask.cjs.js"),jr=require("../core/Hud.cjs.js"),xr=require("../core/Fisheye.cjs.js"),lr=require("../core/MeshPortalMaterial.cjs.js"),dr=require("../core/calculateScaleFactor.cjs.js");function qr(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("maath"),require("zustand"),require("hls.js"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js");var mr=qr(z);exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=o.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=c.PositionalAudio,exports.Text=u.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=f.Splat,exports.OrthographicCamera=g.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=G.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=D.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=R.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,Object.defineProperty(exports,"CameraControlsImpl",{enumerable:!0,get:function(){return mr.default}}),exports.MotionPathControls=y.MotionPathControls,exports.useMotion=y.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=H.GizmoViewcube,exports.GizmoViewport=V.GizmoViewport,exports.Grid=W.Grid,exports.CubeTexture=K.CubeTexture,exports.useCubeTexture=K.useCubeTexture,exports.Fbx=Q.Fbx,exports.useFBX=Q.useFBX,exports.Ktx2=N.Ktx2,exports.useKTX2=N.useKTX2,exports.Progress=U.Progress,exports.useProgress=U.useProgress,exports.IsObject=X.IsObject,exports.Texture=X.Texture,exports.useTexture=X.useTexture,exports.VideoTexture=_.VideoTexture,exports.useVideoTexture=_.useVideoTexture,exports.useFont=J.useFont,exports.checkIfFrameIsEmpty=Y.checkIfFrameIsEmpty,exports.getFirstFrame=Y.getFirstFrame,exports.useSpriteLoader=Y.useSpriteLoader,exports.Helper=Z.Helper,exports.useHelper=Z.useHelper,exports.Stats=$.Stats,exports.StatsGl=ee.StatsGl,exports.useDepthBuffer=re.useDepthBuffer,exports.useAspect=se.useAspect,exports.useCamera=oe.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=ie.Bvh,exports.useBVH=ie.useBVH,exports.useContextBridge=ae.useContextBridge,exports.useAnimations=ce.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ne.useIntersect,exports.useBoxProjectedEnv=pe.useBoxProjectedEnv,exports.BBAnchor=je.BBAnchor,exports.TrailTexture=xe.TrailTexture,exports.useTrailTexture=xe.useTrailTexture,exports.Example=le.Example,exports.SpriteAnimator=de.SpriteAnimator,exports.useSpriteAnimator=de.useSpriteAnimator,exports.CurveModifier=qe.CurveModifier,exports.MeshDistortMaterial=me.MeshDistortMaterial,exports.MeshWobbleMaterial=he.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ce.MeshReflectorMaterial,exports.MeshRefractionMaterial=Me.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Se.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Te.MeshDiscardMaterial,exports.MultiMaterial=be.MultiMaterial,exports.PointMaterial=Pe.PointMaterial,exports.PointMaterialImpl=Pe.PointMaterialImpl,exports.shaderMaterial=fe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.RoundedBox=ve.RoundedBox,exports.RoundedBoxGeometry=ve.RoundedBoxGeometry,exports.ScreenQuad=Ae.ScreenQuad,exports.Center=Fe.Center,exports.Resize=Ge.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=De.CameraShake,exports.Float=Ee.Float,exports.Stage=Re.Stage,exports.Backdrop=ke.Backdrop,exports.Shadow=Ie.Shadow,exports.Caustics=we.Caustics,exports.ContactShadows=ze.ContactShadows,exports.AccumulativeShadows=ye.AccumulativeShadows,exports.RandomizedLight=ye.RandomizedLight,exports.accumulativeContext=ye.accumulativeContext,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=He.Environment,exports.EnvironmentCube=He.EnvironmentCube,exports.EnvironmentMap=He.EnvironmentMap,exports.EnvironmentPortal=He.EnvironmentPortal,exports.Lightformer=Ve.Lightformer,exports.Sky=We.Sky,exports.calcPosFromAngles=We.calcPosFromAngles,exports.Stars=Ke.Stars,exports.Cloud=Qe.Cloud,exports.CloudInstance=Qe.CloudInstance,exports.Clouds=Qe.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.MatcapTexture=Xe.MatcapTexture,exports.useMatcapTexture=Xe.useMatcapTexture,exports.NormalTexture=_e.NormalTexture,exports.useNormalTexture=_e.useNormalTexture,exports.Wireframe=Je.Wireframe,exports.ShadowAlpha=Ye.ShadowAlpha,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.InstancedAttribute=$e.InstancedAttribute,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.PositionMesh=$e.PositionMesh,exports.createInstances=$e.createInstances,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=or.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=cr.PerformanceMonitor,exports.usePerformanceMonitor=cr.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.RenderCubeTexture=nr.RenderCubeTexture,exports.Mask=pr.Mask,exports.useMask=pr.useMask,exports.Hud=jr.Hud,exports.Fisheye=xr.Fisheye,exports.MeshPortalMaterial=lr.MeshPortalMaterial,exports.calculateScaleFactor=dr.calculateScaleFactor;
@@ -0,0 +1 @@
1
+ export * from '../core';
@@ -0,0 +1,150 @@
1
+ export { Billboard } from '../core/Billboard.js';
2
+ export { ScreenSpace } from '../core/ScreenSpace.js';
3
+ export { ScreenSizer } from '../core/ScreenSizer.js';
4
+ export { QuadraticBezierLine } from '../core/QuadraticBezierLine.js';
5
+ export { CubicBezierLine } from '../core/CubicBezierLine.js';
6
+ export { CatmullRomLine } from '../core/CatmullRomLine.js';
7
+ export { Line } from '../core/Line.js';
8
+ export { PositionalAudio } from '../core/PositionalAudio.js';
9
+ export { Text } from '../core/Text.js';
10
+ export { Text3D } from '../core/Text3D.js';
11
+ export { Effects, isWebGL2Available } from '../core/Effects.js';
12
+ export { GradientTexture, GradientType } from '../core/GradientTexture.js';
13
+ export { Image } from '../core/Image.js';
14
+ export { Edges } from '../core/Edges.js';
15
+ export { Outlines } from '../core/Outlines.js';
16
+ export { Trail, useTrail } from '../core/Trail.js';
17
+ export { Sampler, useSurfaceSampler } from '../core/Sampler.js';
18
+ export { ComputedAttribute } from '../core/ComputedAttribute.js';
19
+ export { Clone } from '../core/Clone.js';
20
+ export { MarchingCube, MarchingCubes, MarchingPlane } from '../core/MarchingCubes.js';
21
+ export { Decal } from '../core/Decal.js';
22
+ export { Svg } from '../core/Svg.js';
23
+ export { Gltf, useGLTF } from '../core/Gltf.js';
24
+ export { AsciiRenderer } from '../core/AsciiRenderer.js';
25
+ export { Splat } from '../core/Splat.js';
26
+ export { OrthographicCamera } from '../core/OrthographicCamera.js';
27
+ export { PerspectiveCamera } from '../core/PerspectiveCamera.js';
28
+ export { CubeCamera, useCubeCamera } from '../core/CubeCamera.js';
29
+ export { DeviceOrientationControls } from '../core/DeviceOrientationControls.js';
30
+ export { FlyControls } from '../core/FlyControls.js';
31
+ export { MapControls } from '../core/MapControls.js';
32
+ export { OrbitControls } from '../core/OrbitControls.js';
33
+ export { TrackballControls } from '../core/TrackballControls.js';
34
+ export { ArcballControls } from '../core/ArcballControls.js';
35
+ export { TransformControls } from '../core/TransformControls.js';
36
+ export { PointerLockControls } from '../core/PointerLockControls.js';
37
+ export { FirstPersonControls } from '../core/FirstPersonControls.js';
38
+ export { CameraControls } from '../core/CameraControls.js';
39
+ export { default as CameraControlsImpl } from 'camera-controls';
40
+ export { MotionPathControls, useMotion } from '../core/MotionPathControls.js';
41
+ export { GizmoHelper, useGizmoContext } from '../core/GizmoHelper.js';
42
+ export { GizmoViewcube } from '../core/GizmoViewcube.js';
43
+ export { GizmoViewport } from '../core/GizmoViewport.js';
44
+ export { Grid } from '../core/Grid.js';
45
+ export { CubeTexture, useCubeTexture } from '../core/CubeTexture.js';
46
+ export { Fbx, useFBX } from '../core/Fbx.js';
47
+ export { Ktx2, useKTX2 } from '../core/Ktx2.js';
48
+ export { Progress, useProgress } from '../core/Progress.js';
49
+ export { IsObject, Texture, useTexture } from '../core/Texture.js';
50
+ export { VideoTexture, useVideoTexture } from '../core/VideoTexture.js';
51
+ export { useFont } from '../core/useFont.js';
52
+ export { checkIfFrameIsEmpty, getFirstFrame, useSpriteLoader } from '../core/useSpriteLoader.js';
53
+ export { Helper, useHelper } from '../core/Helper.js';
54
+ export { Stats } from '../core/Stats.js';
55
+ export { StatsGl } from '../core/StatsGl.js';
56
+ export { useDepthBuffer } from '../core/useDepthBuffer.js';
57
+ export { useAspect } from '../core/useAspect.js';
58
+ export { useCamera } from '../core/useCamera.js';
59
+ export { DetectGPU, useDetectGPU } from '../core/DetectGPU.js';
60
+ export { Bvh, useBVH } from '../core/Bvh.js';
61
+ export { useContextBridge } from '../core/useContextBridge.js';
62
+ export { useAnimations } from '../core/useAnimations.js';
63
+ export { Fbo, useFBO } from '../core/Fbo.js';
64
+ export { useIntersect } from '../core/useIntersect.js';
65
+ export { useBoxProjectedEnv } from '../core/useBoxProjectedEnv.js';
66
+ export { BBAnchor } from '../core/BBAnchor.js';
67
+ export { TrailTexture, useTrailTexture } from '../core/TrailTexture.js';
68
+ export { Example } from '../core/Example.js';
69
+ export { SpriteAnimator, useSpriteAnimator } from '../core/SpriteAnimator.js';
70
+ export { CurveModifier } from '../core/CurveModifier.js';
71
+ export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
72
+ export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
73
+ export { MeshReflectorMaterial } from '../core/MeshReflectorMaterial.js';
74
+ export { MeshRefractionMaterial } from '../core/MeshRefractionMaterial.js';
75
+ export { MeshTransmissionMaterial } from '../core/MeshTransmissionMaterial.js';
76
+ export { MeshDiscardMaterial } from '../core/MeshDiscardMaterial.js';
77
+ export { MultiMaterial } from '../core/MultiMaterial.js';
78
+ export { PointMaterial, PointMaterialImpl } from '../core/PointMaterial.js';
79
+ export { shaderMaterial } from '../core/shaderMaterial.js';
80
+ export { SoftShadows } from '../core/softShadows.js';
81
+ export { Box, Capsule, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Shape, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from '../core/shapes.js';
82
+ export { RoundedBox, RoundedBoxGeometry } from '../core/RoundedBox.js';
83
+ export { ScreenQuad } from '../core/ScreenQuad.js';
84
+ export { Center } from '../core/Center.js';
85
+ export { Resize } from '../core/Resize.js';
86
+ export { Bounds, useBounds } from '../core/Bounds.js';
87
+ export { CameraShake } from '../core/CameraShake.js';
88
+ export { Float } from '../core/Float.js';
89
+ export { Stage } from '../core/Stage.js';
90
+ export { Backdrop } from '../core/Backdrop.js';
91
+ export { Shadow } from '../core/Shadow.js';
92
+ export { Caustics } from '../core/Caustics.js';
93
+ export { ContactShadows } from '../core/ContactShadows.js';
94
+ export { AccumulativeShadows, RandomizedLight, accumulativeContext } from '../core/AccumulativeShadows.js';
95
+ export { SpotLight, SpotLightShadow } from '../core/SpotLight.js';
96
+ export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from '../core/Environment.js';
97
+ export { Lightformer } from '../core/Lightformer.js';
98
+ export { Sky, calcPosFromAngles } from '../core/Sky.js';
99
+ export { Stars } from '../core/Stars.js';
100
+ export { Cloud, CloudInstance, Clouds } from '../core/Cloud.js';
101
+ export { Sparkles } from '../core/Sparkles.js';
102
+ export { useEnvironment } from '../core/useEnvironment.js';
103
+ export { MatcapTexture, useMatcapTexture } from '../core/MatcapTexture.js';
104
+ export { NormalTexture, useNormalTexture } from '../core/NormalTexture.js';
105
+ export { Wireframe } from '../core/Wireframe.js';
106
+ export { ShadowAlpha } from '../core/ShadowAlpha.js';
107
+ export { Point, Points, PointsBuffer, PositionPoint } from '../core/Points.js';
108
+ export { Instance, InstancedAttribute, Instances, Merged, PositionMesh, createInstances } from '../core/Instances.js';
109
+ export { Segment, SegmentObject, Segments } from '../core/Segments.js';
110
+ export { Detailed } from '../core/Detailed.js';
111
+ export { Preload } from '../core/Preload.js';
112
+ export { BakeShadows } from '../core/BakeShadows.js';
113
+ export { meshBounds } from '../core/meshBounds.js';
114
+ export { AdaptiveDpr } from '../core/AdaptiveDpr.js';
115
+ export { AdaptiveEvents } from '../core/AdaptiveEvents.js';
116
+ export { PerformanceMonitor, usePerformanceMonitor } from '../core/PerformanceMonitor.js';
117
+ export { RenderTexture } from '../core/RenderTexture.js';
118
+ export { RenderCubeTexture } from '../core/RenderCubeTexture.js';
119
+ export { Mask, useMask } from '../core/Mask.js';
120
+ export { Hud } from '../core/Hud.js';
121
+ export { Fisheye } from '../core/Fisheye.js';
122
+ export { MeshPortalMaterial } from '../core/MeshPortalMaterial.js';
123
+ export { calculateScaleFactor } from '../core/calculateScaleFactor.js';
124
+ import '@babel/runtime/helpers/esm/extends';
125
+ import 'react';
126
+ import 'three';
127
+ import '@react-three/fiber';
128
+ import 'three-stdlib';
129
+ import 'troika-three-text';
130
+ import 'suspend-react';
131
+ import '../helpers/constants.js';
132
+ import 'meshline';
133
+ import 'maath';
134
+ import 'zustand';
135
+ import 'hls.js';
136
+ import 'stats.js';
137
+ import '../helpers/useEffectfulState.js';
138
+ import 'stats-gl';
139
+ import 'detect-gpu';
140
+ import 'three-mesh-bvh';
141
+ import '../helpers/deprecated.js';
142
+ import '../materials/BlurPass.js';
143
+ import '../materials/ConvolutionMaterial.js';
144
+ import '../materials/MeshReflectorMaterial.js';
145
+ import '../materials/MeshRefractionMaterial.js';
146
+ import '../materials/DiscardMaterial.js';
147
+ import '@monogrid/gainmap-js';
148
+ import '../helpers/environment-assets.js';
149
+ import '../materials/SpotLightMaterial.js';
150
+ import '../materials/WireframeMaterial.js';
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "index.cjs.js",
3
+ "module": "index.js",
4
+ "types": "index.d.ts"
5
+ }
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "@ohos-ports/react-three-drei",
3
+ "version": "10.7.7-beta.0",
4
+ "private": false,
5
+ "description": "useful add-ons for react-three-fiber",
6
+ "keywords": [
7
+ "react",
8
+ "three",
9
+ "threejs",
10
+ "react-three-fiber"
11
+ ],
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/ohos-ports/ohos-ports.git",
15
+ "directory": "ports/react-three-drei/10.7.7"
16
+ },
17
+ "license": "MIT",
18
+ "bugs": {
19
+ "url": "https://github.com/ohos-ports/ohos-ports/issues"
20
+ },
21
+ "homepage": "https://github.com/ohos-ports/ohos-ports/tree/main/ports/react-three-drei/10.7.7",
22
+ "maintainers": [
23
+ "Paul Henschel (https://github.com/drcmda)",
24
+ "Gianmarco Simone (https://github.com/gsimone)",
25
+ "Marco Perego (https://github.com/emmelleppi)",
26
+ "Josh Ellis (https://github.com/joshuaellis)"
27
+ ],
28
+ "main": "index.cjs.js",
29
+ "module": "index.js",
30
+ "types": "index.d.ts",
31
+ "react-native": "native/index.cjs.js",
32
+ "sideEffects": false,
33
+ "dependencies": {
34
+ "@babel/runtime": "^7.26.0",
35
+ "@mediapipe/tasks-vision": "0.10.17",
36
+ "@monogrid/gainmap-js": "^3.0.6",
37
+ "@use-gesture/react": "^10.3.1",
38
+ "camera-controls": "^3.1.0",
39
+ "cross-env": "^7.0.3",
40
+ "detect-gpu": "^5.0.56",
41
+ "glsl-noise": "^0.0.0",
42
+ "hls.js": "^1.5.17",
43
+ "maath": "^0.10.8",
44
+ "meshline": "^3.3.1",
45
+ "stats-gl": "^2.2.8",
46
+ "stats.js": "^0.17.0",
47
+ "suspend-react": "^0.1.3",
48
+ "three-mesh-bvh": "^0.8.3",
49
+ "three-stdlib": "^2.35.6",
50
+ "troika-three-text": "^0.52.4",
51
+ "tunnel-rat": "^0.1.2",
52
+ "use-sync-external-store": "^1.4.0",
53
+ "utility-types": "^3.11.0",
54
+ "zustand": "^5.0.1"
55
+ },
56
+ "peerDependencies": {
57
+ "@react-three/fiber": "^9.0.0",
58
+ "react": "^19",
59
+ "react-dom": "^19",
60
+ "@ohos-ports/three": "^0.185.1-beta.0"
61
+ },
62
+ "peerDependenciesMeta": {
63
+ "react-dom": {
64
+ "optional": true
65
+ }
66
+ },
67
+ "packageManager": "yarn@4.3.1",
68
+ "files": [
69
+ "core",
70
+ "helpers",
71
+ "materials",
72
+ "native",
73
+ "web",
74
+ "index.js",
75
+ "index.cjs.js",
76
+ "index.d.ts",
77
+ "README.md",
78
+ "LICENSE"
79
+ ],
80
+ "publishConfig": {
81
+ "access": "public"
82
+ }
83
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e);exports.CycleRaycast=function({onChanged:e,portal:n,preventDefault:o=!0,scroll:l=!0,keyCode:u=9}){const c=r.useRef(0),d=t.useThree((e=>e.setEvents)),i=t.useThree((e=>e.get)),a=t.useThree((e=>e.gl));return r.useEffect((()=>{var t;let r,s=[];const v=i().events.filter,f=null!==(t=null==n?void 0:n.current)&&void 0!==t?t:a.domElement.parentNode,h=()=>f&&e&&e(s,Math.round(c.current)%s.length);d({filter:(e,t)=>{let n=[...e];n.length===s.length&&s.every((e=>n.map((e=>e.object.uuid)).includes(e.object.uuid)))||(c.current=0,s=n,h()),v&&(n=v(n,t));for(let e=0;e<Math.round(c.current)%n.length;e++){const e=n.shift();n=[...n,e]}return n}});const m=e=>{var t,n;c.current=e(c.current),null==(t=i().events.handlers)||t.onPointerCancel(void 0),null==(n=i().events.handlers)||n.onPointerMove(r),h()},p=e=>{(e.keyCode||e.which)===u&&(o&&e.preventDefault(),s.length>1&&m((e=>e+1)))},g=e=>{o&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),s.length>1&&m((e=>Math.abs(e-t)))},b=e=>r=e;return document.addEventListener("pointermove",b,{passive:!0}),l&&document.addEventListener("wheel",g),void 0!==u&&document.addEventListener("keydown",p),()=>{d({filter:v}),void 0!==u&&document.removeEventListener("keydown",p),l&&document.removeEventListener("wheel",g),document.removeEventListener("pointermove",b)}}),[a,i,d,o,l,u]),null};
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ export type CycleRaycastProps = {
4
+ onChanged?: (hits: THREE.Intersection[], cycle: number) => null;
5
+ preventDefault?: boolean;
6
+ scroll?: boolean;
7
+ keyCode?: number;
8
+ portal?: React.RefObject<HTMLElement>;
9
+ };
10
+ export declare function CycleRaycast({ onChanged, portal, preventDefault, scroll, keyCode, }: CycleRaycastProps): null;
@@ -0,0 +1,93 @@
1
+ import * as React from 'react';
2
+ import { useThree } from '@react-three/fiber';
3
+
4
+ function CycleRaycast({
5
+ onChanged,
6
+ portal,
7
+ preventDefault = true,
8
+ scroll = true,
9
+ keyCode = 9
10
+ }) {
11
+ const cycle = React.useRef(0);
12
+ const setEvents = useThree(state => state.setEvents);
13
+ const get = useThree(state => state.get);
14
+ const gl = useThree(state => state.gl);
15
+ React.useEffect(() => {
16
+ var _portal$current;
17
+ let hits = [];
18
+ let lastEvent = undefined;
19
+ const prev = get().events.filter;
20
+ const target = (_portal$current = portal == null ? void 0 : portal.current) !== null && _portal$current !== void 0 ? _portal$current : gl.domElement.parentNode;
21
+
22
+ // Render custom status
23
+ const renderStatus = () => target && onChanged && onChanged(hits, Math.round(cycle.current) % hits.length);
24
+
25
+ // Overwrite the raycasters custom filter (this only exists in r3f)
26
+ setEvents({
27
+ filter: (intersections, state) => {
28
+ // Reset cycle when the intersections change
29
+ let clone = [...intersections];
30
+ if (clone.length !== hits.length || !hits.every(hit => clone.map(e => e.object.uuid).includes(hit.object.uuid))) {
31
+ cycle.current = 0;
32
+ hits = clone;
33
+ renderStatus();
34
+ }
35
+ // Run custom filter if there is one
36
+ if (prev) clone = prev(clone, state);
37
+ // Cycle through the actual raycast intersects
38
+ for (let i = 0; i < Math.round(cycle.current) % clone.length; i++) {
39
+ const first = clone.shift();
40
+ clone = [...clone, first];
41
+ }
42
+ return clone;
43
+ }
44
+ });
45
+
46
+ // Cycle, refresh events and render status
47
+ const refresh = fn => {
48
+ var _get$events$handlers, _get$events$handlers2;
49
+ cycle.current = fn(cycle.current);
50
+ // Cancel hovered elements and fake a pointer-move
51
+ (_get$events$handlers = get().events.handlers) == null || _get$events$handlers.onPointerCancel(undefined);
52
+ (_get$events$handlers2 = get().events.handlers) == null || _get$events$handlers2.onPointerMove(lastEvent);
53
+ renderStatus();
54
+ };
55
+
56
+ // Key events
57
+ const tabEvent = event => {
58
+ if ((event.keyCode || event.which) === keyCode) {
59
+ if (preventDefault) event.preventDefault();
60
+ if (hits.length > 1) refresh(current => current + 1);
61
+ }
62
+ };
63
+
64
+ // Wheel events
65
+ const wheelEvent = event => {
66
+ if (preventDefault) event.preventDefault();
67
+ let delta = 0;
68
+ if (!event) event = window.event;
69
+ if (event.wheelDelta) delta = event.wheelDelta / 120;else if (event.detail) delta = -event.detail / 3;
70
+ if (hits.length > 1) refresh(current => Math.abs(current - delta));
71
+ };
72
+
73
+ // Catch last move event and position custom status
74
+ const moveEvent = event => lastEvent = event;
75
+ document.addEventListener('pointermove', moveEvent, {
76
+ passive: true
77
+ });
78
+ if (scroll) document.addEventListener('wheel', wheelEvent);
79
+ if (keyCode !== undefined) document.addEventListener('keydown', tabEvent);
80
+ return () => {
81
+ // Clean up
82
+ setEvents({
83
+ filter: prev
84
+ });
85
+ if (keyCode !== undefined) document.removeEventListener('keydown', tabEvent);
86
+ if (scroll) document.removeEventListener('wheel', wheelEvent);
87
+ document.removeEventListener('pointermove', moveEvent);
88
+ };
89
+ }, [gl, get, setEvents, preventDefault, scroll, keyCode]);
90
+ return null;
91
+ }
92
+
93
+ export { CycleRaycast };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),a=require("@use-gesture/react");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=o(e),u=i(r),s=i(t);const l=new s.Vector3,m=new s.Vector2,f=new s.Vector3,d=new s.Vector3,x=new s.Vector3,p=new s.Plane,y=u.forwardRef((({autoTransform:e=!0,matrix:r,axisLock:t,dragLimits:o,onHover:i,onDragStart:y,onDrag:g,onDragEnd:h,children:b,dragConfig:v,...w},D)=>{const M=n.useThree((e=>e.controls)),{camera:j,size:z,raycaster:P,invalidate:O}=n.useThree(),V=u.useRef(null),q=a.useGesture({onHover:({hovering:e})=>i&&i(null!=e&&e),onDragStart:({event:e})=>{M&&(M.enabled=!1);const{point:r}=e;V.current.matrix.decompose(l,new s.Quaternion,new s.Vector3),f.copy(r),d.copy(f).sub(l),y&&y(l),O()},onDrag:({xy:[r,n],intentional:a})=>{if(!a)return;const i=(r-z.left)/z.width*2-1,c=-(n-z.top)/z.height*2+1;if(m.set(i,c),P.setFromCamera(m,j),t)switch(t){case"x":x.set(1,0,0);break;case"y":x.set(0,1,0);break;case"z":x.set(0,0,1)}else j.getWorldDirection(x).negate();p.setFromNormalAndCoplanarPoint(x,f),P.ray.intersectPlane(p,f);const u=V.current.matrix.clone(),l=V.current.matrixWorld.clone(),y=new s.Vector3(f.x-d.x,f.y-d.y,f.z-d.z);if(o&&(y.x=o[0]?Math.max(Math.min(y.x,o[0][1]),o[0][0]):y.x,y.y=o[1]?Math.max(Math.min(y.y,o[1][1]),o[1][0]):y.y,y.z=o[2]?Math.max(Math.min(y.z,o[2][1]),o[2][0]):y.z),e){V.current.matrix.setPosition(y);const e=V.current.matrix.clone().multiply(u.invert()),r=V.current.matrix.clone().multiply(l.invert());g&&g(V.current.matrix,e,V.current.matrixWorld,r)}else{const e=(new s.Matrix4).copy(V.current.matrix);e.setPosition(y);const r=e.clone().multiply(u.invert()),t=e.clone().multiply(l.invert());g&&g(e,r,V.current.matrixWorld,t)}O()},onDragEnd:()=>{M&&(M.enabled=!0),h&&h(),O()}},{drag:{filterTaps:!0,threshold:1,..."object"==typeof v?v:{}}});return u.useImperativeHandle(D,(()=>V.current),[]),u.useLayoutEffect((()=>{r&&(V.current.matrix=r)}),[r]),u.createElement("group",c.default({ref:V},q(),{matrix:r,matrixAutoUpdate:!1},w),b)}));exports.DragControls=y;
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import { DragConfig } from '@use-gesture/react';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ export type DragControlsProps = {
6
+ autoTransform?: boolean;
7
+ matrix?: THREE.Matrix4;
8
+ axisLock?: 'x' | 'y' | 'z';
9
+ dragLimits?: [[number, number] | undefined, [number, number] | undefined, [number, number] | undefined];
10
+ onHover?: (hovering: boolean) => void;
11
+ onDragStart?: (origin: THREE.Vector3) => void;
12
+ onDrag?: (localMatrix: THREE.Matrix4, deltaLocalMatrix: THREE.Matrix4, worldMatrix: THREE.Matrix4, deltaWorldMatrix: THREE.Matrix4) => void;
13
+ onDragEnd?: () => void;
14
+ children: React.ReactNode;
15
+ dragConfig?: DragConfig;
16
+ };
17
+ export declare const DragControls: ForwardRefComponent<DragControlsProps, THREE.Group>;