@3driseai/3drise-viewer 0.1.1

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 (547) hide show
  1. package/dist/components/AnimatedObject.d.ts +22 -0
  2. package/dist/components/AnimatedObject.d.ts.map +1 -0
  3. package/dist/components/AnimatedObject.js +65 -0
  4. package/dist/components/Bubbles.d.ts +9 -0
  5. package/dist/components/Bubbles.d.ts.map +1 -0
  6. package/dist/components/Bubbles.js +105 -0
  7. package/dist/components/CameraController.d.ts +10 -0
  8. package/dist/components/CameraController.d.ts.map +1 -0
  9. package/dist/components/CameraController.js +158 -0
  10. package/dist/components/Clouds.d.ts +9 -0
  11. package/dist/components/Clouds.d.ts.map +1 -0
  12. package/dist/components/Clouds.js +278 -0
  13. package/dist/components/Corona.d.ts +18 -0
  14. package/dist/components/Corona.d.ts.map +1 -0
  15. package/dist/components/Corona.js +12 -0
  16. package/dist/components/CreatedObject.d.ts +14 -0
  17. package/dist/components/CreatedObject.d.ts.map +1 -0
  18. package/dist/components/CreatedObject.js +103 -0
  19. package/dist/components/CustomPrimitive.d.ts +12 -0
  20. package/dist/components/CustomPrimitive.d.ts.map +1 -0
  21. package/dist/components/CustomPrimitive.js +87 -0
  22. package/dist/components/Earth.d.ts +8 -0
  23. package/dist/components/Earth.d.ts.map +1 -0
  24. package/dist/components/Earth.js +38 -0
  25. package/dist/components/EffectsGenerator.d.ts +10 -0
  26. package/dist/components/EffectsGenerator.d.ts.map +1 -0
  27. package/dist/components/EffectsGenerator.js +71 -0
  28. package/dist/components/EffectsGroup.d.ts +8 -0
  29. package/dist/components/EffectsGroup.d.ts.map +1 -0
  30. package/dist/components/EffectsGroup.js +11 -0
  31. package/dist/components/EnvironmentManager.d.ts +9 -0
  32. package/dist/components/EnvironmentManager.d.ts.map +1 -0
  33. package/dist/components/EnvironmentManager.js +74 -0
  34. package/dist/components/EnvironmentObject.d.ts +8 -0
  35. package/dist/components/EnvironmentObject.d.ts.map +1 -0
  36. package/dist/components/EnvironmentObject.js +14 -0
  37. package/dist/components/Flares.d.ts +24 -0
  38. package/dist/components/Flares.d.ts.map +1 -0
  39. package/dist/components/Flares.js +134 -0
  40. package/dist/components/Frame.d.ts +23 -0
  41. package/dist/components/Frame.d.ts.map +1 -0
  42. package/dist/components/Frame.js +55 -0
  43. package/dist/components/FrameGeometry.d.ts +10 -0
  44. package/dist/components/FrameGeometry.d.ts.map +1 -0
  45. package/dist/components/FrameGeometry.js +17 -0
  46. package/dist/components/FrameImage.d.ts +2 -0
  47. package/dist/components/FrameImage.d.ts.map +1 -0
  48. package/dist/components/FrameImage.js +15 -0
  49. package/dist/components/Galaxy.d.ts +10 -0
  50. package/dist/components/Galaxy.d.ts.map +1 -0
  51. package/dist/components/Galaxy.js +29 -0
  52. package/dist/components/GalleryLayout.d.ts +12 -0
  53. package/dist/components/GalleryLayout.d.ts.map +1 -0
  54. package/dist/components/GalleryLayout.js +20 -0
  55. package/dist/components/GeometryShape.d.ts +54 -0
  56. package/dist/components/GeometryShape.d.ts.map +1 -0
  57. package/dist/components/GeometryShape.js +318 -0
  58. package/dist/components/Glyphs.d.ts +9 -0
  59. package/dist/components/Glyphs.d.ts.map +1 -0
  60. package/dist/components/Glyphs.js +58 -0
  61. package/dist/components/GridHelper.d.ts +23 -0
  62. package/dist/components/GridHelper.d.ts.map +1 -0
  63. package/dist/components/GridHelper.js +36 -0
  64. package/dist/components/GridsGenerator.d.ts +10 -0
  65. package/dist/components/GridsGenerator.d.ts.map +1 -0
  66. package/dist/components/GridsGenerator.js +14 -0
  67. package/dist/components/HdrPlaylistRenderer.d.ts +10 -0
  68. package/dist/components/HdrPlaylistRenderer.d.ts.map +1 -0
  69. package/dist/components/HdrPlaylistRenderer.js +364 -0
  70. package/dist/components/ImageGeometry.d.ts +13 -0
  71. package/dist/components/ImageGeometry.d.ts.map +1 -0
  72. package/dist/components/ImageGeometry.js +62 -0
  73. package/dist/components/Lensflare.d.ts +12 -0
  74. package/dist/components/Lensflare.d.ts.map +1 -0
  75. package/dist/components/Lensflare.js +66 -0
  76. package/dist/components/Letter.d.ts +19 -0
  77. package/dist/components/Letter.d.ts.map +1 -0
  78. package/dist/components/Letter.js +83 -0
  79. package/dist/components/Letters.d.ts +16 -0
  80. package/dist/components/Letters.d.ts.map +1 -0
  81. package/dist/components/Letters.js +18 -0
  82. package/dist/components/LightObject.d.ts +8 -0
  83. package/dist/components/LightObject.d.ts.map +1 -0
  84. package/dist/components/LightObject.js +65 -0
  85. package/dist/components/LightsManager.d.ts +8 -0
  86. package/dist/components/LightsManager.d.ts.map +1 -0
  87. package/dist/components/LightsManager.js +104 -0
  88. package/dist/components/Lines.d.ts +9 -0
  89. package/dist/components/Lines.d.ts.map +1 -0
  90. package/dist/components/Lines.js +19 -0
  91. package/dist/components/LoadingIndicator.d.ts +10 -0
  92. package/dist/components/LoadingIndicator.d.ts.map +1 -0
  93. package/dist/components/LoadingIndicator.js +6 -0
  94. package/dist/components/MaterialLibrary.d.ts +9 -0
  95. package/dist/components/MaterialLibrary.d.ts.map +1 -0
  96. package/dist/components/MaterialLibrary.js +57 -0
  97. package/dist/components/Moon.d.ts +13 -0
  98. package/dist/components/Moon.d.ts.map +1 -0
  99. package/dist/components/Moon.js +66 -0
  100. package/dist/components/MyGrid.d.ts +15 -0
  101. package/dist/components/MyGrid.d.ts.map +1 -0
  102. package/dist/components/MyGrid.js +72 -0
  103. package/dist/components/ObjectNode.d.ts +13 -0
  104. package/dist/components/ObjectNode.d.ts.map +1 -0
  105. package/dist/components/ObjectNode.js +139 -0
  106. package/dist/components/ObjectNodeApi.d.ts +13 -0
  107. package/dist/components/ObjectNodeApi.d.ts.map +1 -0
  108. package/dist/components/ObjectNodeApi.js +18 -0
  109. package/dist/components/ObjectsRenderer.d.ts +15 -0
  110. package/dist/components/ObjectsRenderer.d.ts.map +1 -0
  111. package/dist/components/ObjectsRenderer.js +40 -0
  112. package/dist/components/ObjectsRendererApi.d.ts +31 -0
  113. package/dist/components/ObjectsRendererApi.d.ts.map +1 -0
  114. package/dist/components/ObjectsRendererApi.js +76 -0
  115. package/dist/components/Ocean.d.ts +8 -0
  116. package/dist/components/Ocean.d.ts.map +1 -0
  117. package/dist/components/Ocean.js +169 -0
  118. package/dist/components/Outline.d.ts +21 -0
  119. package/dist/components/Outline.d.ts.map +1 -0
  120. package/dist/components/Outline.js +14 -0
  121. package/dist/components/ParticlesR3f.d.ts +11 -0
  122. package/dist/components/ParticlesR3f.d.ts.map +1 -0
  123. package/dist/components/ParticlesR3f.js +110 -0
  124. package/dist/components/Path.d.ts +13 -0
  125. package/dist/components/Path.d.ts.map +1 -0
  126. package/dist/components/Path.js +41 -0
  127. package/dist/components/PathGeometry.d.ts +11 -0
  128. package/dist/components/PathGeometry.d.ts.map +1 -0
  129. package/dist/components/PathGeometry.js +109 -0
  130. package/dist/components/PathRenderer.d.ts +12 -0
  131. package/dist/components/PathRenderer.d.ts.map +1 -0
  132. package/dist/components/PathRenderer.js +36 -0
  133. package/dist/components/Planet.d.ts +16 -0
  134. package/dist/components/Planet.d.ts.map +1 -0
  135. package/dist/components/Planet.js +60 -0
  136. package/dist/components/PointCloud.d.ts +10 -0
  137. package/dist/components/PointCloud.d.ts.map +1 -0
  138. package/dist/components/PointCloud.js +113 -0
  139. package/dist/components/ProductionScene.d.ts +5 -0
  140. package/dist/components/ProductionScene.d.ts.map +1 -0
  141. package/dist/components/ProductionScene.js +7 -0
  142. package/dist/components/ProjectLoader.d.ts +16 -0
  143. package/dist/components/ProjectLoader.d.ts.map +1 -0
  144. package/dist/components/ProjectLoader.js +85 -0
  145. package/dist/components/Rain.d.ts +8 -0
  146. package/dist/components/Rain.d.ts.map +1 -0
  147. package/dist/components/Rain.js +259 -0
  148. package/dist/components/RiseLogo.d.ts +19 -0
  149. package/dist/components/RiseLogo.d.ts.map +1 -0
  150. package/dist/components/RiseLogo.js +75 -0
  151. package/dist/components/SceneBuilder.d.ts +5 -0
  152. package/dist/components/SceneBuilder.d.ts.map +1 -0
  153. package/dist/components/SceneBuilder.js +133 -0
  154. package/dist/components/SceneFog.d.ts +8 -0
  155. package/dist/components/SceneFog.d.ts.map +1 -0
  156. package/dist/components/SceneFog.js +19 -0
  157. package/dist/components/Shape.d.ts +5 -0
  158. package/dist/components/Shape.d.ts.map +1 -0
  159. package/dist/components/Shape.js +11 -0
  160. package/dist/components/ShootingStar.d.ts +16 -0
  161. package/dist/components/ShootingStar.d.ts.map +1 -0
  162. package/dist/components/ShootingStar.js +92 -0
  163. package/dist/components/ShootingStars.d.ts +8 -0
  164. package/dist/components/ShootingStars.d.ts.map +1 -0
  165. package/dist/components/ShootingStars.js +41 -0
  166. package/dist/components/SkyController.d.ts +10 -0
  167. package/dist/components/SkyController.d.ts.map +1 -0
  168. package/dist/components/SkyController.js +208 -0
  169. package/dist/components/SkyMesh.d.ts +10 -0
  170. package/dist/components/SkyMesh.d.ts.map +1 -0
  171. package/dist/components/SkyMesh.js +36 -0
  172. package/dist/components/SkySystem.d.ts +32 -0
  173. package/dist/components/SkySystem.d.ts.map +1 -0
  174. package/dist/components/SkySystem.js +46 -0
  175. package/dist/components/Skybox.d.ts +12 -0
  176. package/dist/components/Skybox.d.ts.map +1 -0
  177. package/dist/components/Skybox.js +92 -0
  178. package/dist/components/SolarSystem.d.ts +8 -0
  179. package/dist/components/SolarSystem.d.ts.map +1 -0
  180. package/dist/components/SolarSystem.js +77 -0
  181. package/dist/components/SparklesBurst.d.ts +9 -0
  182. package/dist/components/SparklesBurst.d.ts.map +1 -0
  183. package/dist/components/SparklesBurst.js +62 -0
  184. package/dist/components/Stars.d.ts +15 -0
  185. package/dist/components/Stars.d.ts.map +1 -0
  186. package/dist/components/Stars.js +250 -0
  187. package/dist/components/Sun.d.ts +15 -0
  188. package/dist/components/Sun.d.ts.map +1 -0
  189. package/dist/components/Sun.js +7 -0
  190. package/dist/components/SunCore.d.ts +18 -0
  191. package/dist/components/SunCore.d.ts.map +1 -0
  192. package/dist/components/SunCore.js +14 -0
  193. package/dist/components/SunLight.d.ts +15 -0
  194. package/dist/components/SunLight.d.ts.map +1 -0
  195. package/dist/components/SunLight.js +57 -0
  196. package/dist/components/Text2D.d.ts +9 -0
  197. package/dist/components/Text2D.d.ts.map +1 -0
  198. package/dist/components/Text2D.js +56 -0
  199. package/dist/components/Text3D.d.ts +10 -0
  200. package/dist/components/Text3D.d.ts.map +1 -0
  201. package/dist/components/Text3D.js +8 -0
  202. package/dist/components/VolumePoints.d.ts +19 -0
  203. package/dist/components/VolumePoints.d.ts.map +1 -0
  204. package/dist/components/VolumePoints.js +8 -0
  205. package/dist/components/cursor/AuraCursor.d.ts +6 -0
  206. package/dist/components/cursor/AuraCursor.d.ts.map +1 -0
  207. package/dist/components/cursor/AuraCursor.js +30 -0
  208. package/dist/components/cursor/AuroraCursor.d.ts +6 -0
  209. package/dist/components/cursor/AuroraCursor.d.ts.map +1 -0
  210. package/dist/components/cursor/AuroraCursor.js +207 -0
  211. package/dist/components/cursor/BubblesCursor.d.ts +6 -0
  212. package/dist/components/cursor/BubblesCursor.d.ts.map +1 -0
  213. package/dist/components/cursor/BubblesCursor.js +184 -0
  214. package/dist/components/cursor/CometCursor.d.ts +6 -0
  215. package/dist/components/cursor/CometCursor.d.ts.map +1 -0
  216. package/dist/components/cursor/CometCursor.js +191 -0
  217. package/dist/components/cursor/CrosshairCursor.d.ts +6 -0
  218. package/dist/components/cursor/CrosshairCursor.d.ts.map +1 -0
  219. package/dist/components/cursor/CrosshairCursor.js +142 -0
  220. package/dist/components/cursor/CursorActions.d.ts +8 -0
  221. package/dist/components/cursor/CursorActions.d.ts.map +1 -0
  222. package/dist/components/cursor/CursorActions.js +124 -0
  223. package/dist/components/cursor/CursorController.d.ts +10 -0
  224. package/dist/components/cursor/CursorController.d.ts.map +1 -0
  225. package/dist/components/cursor/CursorController.js +5 -0
  226. package/dist/components/cursor/CursorEffects.d.ts +16 -0
  227. package/dist/components/cursor/CursorEffects.d.ts.map +1 -0
  228. package/dist/components/cursor/CursorEffects.js +110 -0
  229. package/dist/components/cursor/FerrofluidCursor.d.ts +6 -0
  230. package/dist/components/cursor/FerrofluidCursor.d.ts.map +1 -0
  231. package/dist/components/cursor/FerrofluidCursor.js +102 -0
  232. package/dist/components/cursor/GlyphRingCursor.d.ts +6 -0
  233. package/dist/components/cursor/GlyphRingCursor.d.ts.map +1 -0
  234. package/dist/components/cursor/GlyphRingCursor.js +123 -0
  235. package/dist/components/cursor/LightningCursor.d.ts +6 -0
  236. package/dist/components/cursor/LightningCursor.d.ts.map +1 -0
  237. package/dist/components/cursor/LightningCursor.js +28 -0
  238. package/dist/components/cursor/LiquidMetalCursor.d.ts +6 -0
  239. package/dist/components/cursor/LiquidMetalCursor.d.ts.map +1 -0
  240. package/dist/components/cursor/LiquidMetalCursor.js +61 -0
  241. package/dist/components/cursor/OrbCursor.d.ts +6 -0
  242. package/dist/components/cursor/OrbCursor.d.ts.map +1 -0
  243. package/dist/components/cursor/OrbCursor.js +32 -0
  244. package/dist/components/cursor/PlasmaWhipCursor.d.ts +6 -0
  245. package/dist/components/cursor/PlasmaWhipCursor.d.ts.map +1 -0
  246. package/dist/components/cursor/PlasmaWhipCursor.js +134 -0
  247. package/dist/components/cursor/SparklesCursor.d.ts +6 -0
  248. package/dist/components/cursor/SparklesCursor.d.ts.map +1 -0
  249. package/dist/components/cursor/SparklesCursor.js +151 -0
  250. package/dist/components/cursor/TeslaCursor.d.ts +6 -0
  251. package/dist/components/cursor/TeslaCursor.d.ts.map +1 -0
  252. package/dist/components/cursor/TeslaCursor.js +223 -0
  253. package/dist/components/cursor/clickActions/BoltFlashAction.d.ts +11 -0
  254. package/dist/components/cursor/clickActions/BoltFlashAction.d.ts.map +1 -0
  255. package/dist/components/cursor/clickActions/BoltFlashAction.js +62 -0
  256. package/dist/components/cursor/clickActions/GlyphInscriptionAction.d.ts +11 -0
  257. package/dist/components/cursor/clickActions/GlyphInscriptionAction.d.ts.map +1 -0
  258. package/dist/components/cursor/clickActions/GlyphInscriptionAction.js +114 -0
  259. package/dist/components/cursor/clickActions/ImplosionAction.d.ts +11 -0
  260. package/dist/components/cursor/clickActions/ImplosionAction.d.ts.map +1 -0
  261. package/dist/components/cursor/clickActions/ImplosionAction.js +93 -0
  262. package/dist/components/cursor/clickActions/PhaseShiftAction.d.ts +11 -0
  263. package/dist/components/cursor/clickActions/PhaseShiftAction.d.ts.map +1 -0
  264. package/dist/components/cursor/clickActions/PhaseShiftAction.js +71 -0
  265. package/dist/components/cursor/clickActions/PlasmaBombAction.d.ts +11 -0
  266. package/dist/components/cursor/clickActions/PlasmaBombAction.d.ts.map +1 -0
  267. package/dist/components/cursor/clickActions/PlasmaBombAction.js +98 -0
  268. package/dist/components/cursor/clickActions/RealityTearAction.d.ts +11 -0
  269. package/dist/components/cursor/clickActions/RealityTearAction.d.ts.map +1 -0
  270. package/dist/components/cursor/clickActions/RealityTearAction.js +92 -0
  271. package/dist/components/cursor/clickActions/ShockwaveAction.d.ts +11 -0
  272. package/dist/components/cursor/clickActions/ShockwaveAction.d.ts.map +1 -0
  273. package/dist/components/cursor/clickActions/ShockwaveAction.js +55 -0
  274. package/dist/components/cursor/clickActions/SparklesBurstAction.d.ts +11 -0
  275. package/dist/components/cursor/clickActions/SparklesBurstAction.d.ts.map +1 -0
  276. package/dist/components/cursor/clickActions/SparklesBurstAction.js +99 -0
  277. package/dist/components/cursor/clickActions/VoronoiFractureAction.d.ts +11 -0
  278. package/dist/components/cursor/clickActions/VoronoiFractureAction.d.ts.map +1 -0
  279. package/dist/components/cursor/clickActions/VoronoiFractureAction.js +149 -0
  280. package/dist/components/effects/AuraEffect.d.ts +10 -0
  281. package/dist/components/effects/AuraEffect.d.ts.map +1 -0
  282. package/dist/components/effects/AuraEffect.js +127 -0
  283. package/dist/components/effects/AuroraEffect.d.ts +10 -0
  284. package/dist/components/effects/AuroraEffect.d.ts.map +1 -0
  285. package/dist/components/effects/AuroraEffect.js +112 -0
  286. package/dist/components/effects/BlackHoleEffect.d.ts +10 -0
  287. package/dist/components/effects/BlackHoleEffect.d.ts.map +1 -0
  288. package/dist/components/effects/BlackHoleEffect.js +193 -0
  289. package/dist/components/effects/ConstellationEffect.d.ts +10 -0
  290. package/dist/components/effects/ConstellationEffect.d.ts.map +1 -0
  291. package/dist/components/effects/ConstellationEffect.js +189 -0
  292. package/dist/components/effects/DataStreamEffect.d.ts +10 -0
  293. package/dist/components/effects/DataStreamEffect.d.ts.map +1 -0
  294. package/dist/components/effects/DataStreamEffect.js +138 -0
  295. package/dist/components/effects/DnaHelixEffect.d.ts +10 -0
  296. package/dist/components/effects/DnaHelixEffect.d.ts.map +1 -0
  297. package/dist/components/effects/DnaHelixEffect.js +311 -0
  298. package/dist/components/effects/Fire.d.ts +20 -0
  299. package/dist/components/effects/Fire.d.ts.map +1 -0
  300. package/dist/components/effects/Fire.js +208 -0
  301. package/dist/components/effects/FireEffect.d.ts +10 -0
  302. package/dist/components/effects/FireEffect.d.ts.map +1 -0
  303. package/dist/components/effects/FireEffect.js +194 -0
  304. package/dist/components/effects/ForcefieldEffect.d.ts +10 -0
  305. package/dist/components/effects/ForcefieldEffect.d.ts.map +1 -0
  306. package/dist/components/effects/ForcefieldEffect.js +132 -0
  307. package/dist/components/effects/HologramEffect.d.ts +10 -0
  308. package/dist/components/effects/HologramEffect.d.ts.map +1 -0
  309. package/dist/components/effects/HologramEffect.js +143 -0
  310. package/dist/components/effects/IceCrystalsEffect.d.ts +10 -0
  311. package/dist/components/effects/IceCrystalsEffect.d.ts.map +1 -0
  312. package/dist/components/effects/IceCrystalsEffect.js +190 -0
  313. package/dist/components/effects/LightningEffect.d.ts +10 -0
  314. package/dist/components/effects/LightningEffect.d.ts.map +1 -0
  315. package/dist/components/effects/LightningEffect.js +240 -0
  316. package/dist/components/effects/MoleculesEffect.d.ts +10 -0
  317. package/dist/components/effects/MoleculesEffect.d.ts.map +1 -0
  318. package/dist/components/effects/MoleculesEffect.js +173 -0
  319. package/dist/components/effects/NeuralNetworkEffect.d.ts +10 -0
  320. package/dist/components/effects/NeuralNetworkEffect.d.ts.map +1 -0
  321. package/dist/components/effects/NeuralNetworkEffect.js +188 -0
  322. package/dist/components/effects/OrbEffect.d.ts +10 -0
  323. package/dist/components/effects/OrbEffect.d.ts.map +1 -0
  324. package/dist/components/effects/OrbEffect.js +291 -0
  325. package/dist/components/effects/PortalEffect.d.ts +10 -0
  326. package/dist/components/effects/PortalEffect.d.ts.map +1 -0
  327. package/dist/components/effects/PortalEffect.js +191 -0
  328. package/dist/components/effects/ShockwaveEffect.d.ts +10 -0
  329. package/dist/components/effects/ShockwaveEffect.d.ts.map +1 -0
  330. package/dist/components/effects/ShockwaveEffect.js +160 -0
  331. package/dist/components/effects/SmokePlumeEffect.d.ts +10 -0
  332. package/dist/components/effects/SmokePlumeEffect.d.ts.map +1 -0
  333. package/dist/components/effects/SmokePlumeEffect.js +141 -0
  334. package/dist/components/effects/SmokeRibbon.d.ts +13 -0
  335. package/dist/components/effects/SmokeRibbon.d.ts.map +1 -0
  336. package/dist/components/effects/SmokeRibbon.js +69 -0
  337. package/dist/components/effects/SmokeRingEffect.d.ts +10 -0
  338. package/dist/components/effects/SmokeRingEffect.d.ts.map +1 -0
  339. package/dist/components/effects/SmokeRingEffect.js +158 -0
  340. package/dist/components/effects/VolumetricFogEffect.d.ts +10 -0
  341. package/dist/components/effects/VolumetricFogEffect.d.ts.map +1 -0
  342. package/dist/components/effects/VolumetricFogEffect.js +111 -0
  343. package/dist/components/extractOutline.d.ts +18 -0
  344. package/dist/components/extractOutline.d.ts.map +1 -0
  345. package/dist/components/extractOutline.js +47 -0
  346. package/dist/constants.d.ts +2 -0
  347. package/dist/constants.d.ts.map +1 -0
  348. package/dist/constants.js +5 -0
  349. package/dist/hooks/index.d.ts +1 -0
  350. package/dist/hooks/index.d.ts.map +1 -0
  351. package/dist/hooks/index.js +1 -0
  352. package/dist/hooks/use3driseShader.d.ts +17 -0
  353. package/dist/hooks/use3driseShader.d.ts.map +1 -0
  354. package/dist/hooks/use3driseShader.js +100 -0
  355. package/dist/hooks/useAnimationEvents.d.ts +10 -0
  356. package/dist/hooks/useAnimationEvents.d.ts.map +1 -0
  357. package/dist/hooks/useAnimationEvents.js +49 -0
  358. package/dist/hooks/useCameraAnimation.d.ts +35 -0
  359. package/dist/hooks/useCameraAnimation.d.ts.map +1 -0
  360. package/dist/hooks/useCameraAnimation.js +277 -0
  361. package/dist/hooks/useContinuousEffects.d.ts +15 -0
  362. package/dist/hooks/useContinuousEffects.d.ts.map +1 -0
  363. package/dist/hooks/useContinuousEffects.js +177 -0
  364. package/dist/hooks/useCubeCamera.d.ts +18 -0
  365. package/dist/hooks/useCubeCamera.d.ts.map +1 -0
  366. package/dist/hooks/useCubeCamera.js +73 -0
  367. package/dist/hooks/useEnvironmentEffects.d.ts +12 -0
  368. package/dist/hooks/useEnvironmentEffects.d.ts.map +1 -0
  369. package/dist/hooks/useEnvironmentEffects.js +22 -0
  370. package/dist/hooks/useFrameAnimations.d.ts +24 -0
  371. package/dist/hooks/useFrameAnimations.d.ts.map +1 -0
  372. package/dist/hooks/useFrameAnimations.js +217 -0
  373. package/dist/hooks/useFrameEffects.d.ts +6 -0
  374. package/dist/hooks/useFrameEffects.d.ts.map +1 -0
  375. package/dist/hooks/useFrameEffects.js +19 -0
  376. package/dist/hooks/useGsapAnimation.d.ts +122 -0
  377. package/dist/hooks/useGsapAnimation.d.ts.map +1 -0
  378. package/dist/hooks/useGsapAnimation.js +316 -0
  379. package/dist/hooks/useInteraction.d.ts +12 -0
  380. package/dist/hooks/useInteraction.d.ts.map +1 -0
  381. package/dist/hooks/useInteraction.js +273 -0
  382. package/dist/hooks/useInteractionEffects.d.ts +11 -0
  383. package/dist/hooks/useInteractionEffects.d.ts.map +1 -0
  384. package/dist/hooks/useInteractionEffects.js +74 -0
  385. package/dist/hooks/useKey.d.ts +26 -0
  386. package/dist/hooks/useKey.d.ts.map +1 -0
  387. package/dist/hooks/useKey.js +73 -0
  388. package/dist/hooks/useLightAnimation.d.ts +10 -0
  389. package/dist/hooks/useLightAnimation.d.ts.map +1 -0
  390. package/dist/hooks/useLightAnimation.js +34 -0
  391. package/dist/hooks/useLightHandlers.d.ts +14 -0
  392. package/dist/hooks/useLightHandlers.d.ts.map +1 -0
  393. package/dist/hooks/useLightHandlers.js +116 -0
  394. package/dist/hooks/useLightMouseMove.d.ts +11 -0
  395. package/dist/hooks/useLightMouseMove.d.ts.map +1 -0
  396. package/dist/hooks/useLightMouseMove.js +27 -0
  397. package/dist/hooks/useLightShadow.d.ts +6 -0
  398. package/dist/hooks/useLightShadow.d.ts.map +1 -0
  399. package/dist/hooks/useLightShadow.js +63 -0
  400. package/dist/hooks/useMaterialApplication.d.ts +4 -0
  401. package/dist/hooks/useMaterialApplication.d.ts.map +1 -0
  402. package/dist/hooks/useMaterialApplication.js +157 -0
  403. package/dist/hooks/useMaterialOptions.d.ts +14 -0
  404. package/dist/hooks/useMaterialOptions.d.ts.map +1 -0
  405. package/dist/hooks/useMaterialOptions.js +118 -0
  406. package/dist/hooks/useMaterialUniforms.d.ts +18 -0
  407. package/dist/hooks/useMaterialUniforms.d.ts.map +1 -0
  408. package/dist/hooks/useMaterialUniforms.js +96 -0
  409. package/dist/hooks/useMeshController.d.ts +3 -0
  410. package/dist/hooks/useMeshController.d.ts.map +1 -0
  411. package/dist/hooks/useMeshController.js +168 -0
  412. package/dist/hooks/useMouseHandlers.d.ts +8 -0
  413. package/dist/hooks/useMouseHandlers.d.ts.map +1 -0
  414. package/dist/hooks/useMouseHandlers.js +47 -0
  415. package/dist/hooks/useNumericAnimation.d.ts +5 -0
  416. package/dist/hooks/useNumericAnimation.d.ts.map +1 -0
  417. package/dist/hooks/useNumericAnimation.js +42 -0
  418. package/dist/hooks/useObjectAnimation.d.ts +13 -0
  419. package/dist/hooks/useObjectAnimation.d.ts.map +1 -0
  420. package/dist/hooks/useObjectAnimation.js +35 -0
  421. package/dist/hooks/useObjectEdges.d.ts +3 -0
  422. package/dist/hooks/useObjectEdges.d.ts.map +1 -0
  423. package/dist/hooks/useObjectEdges.js +199 -0
  424. package/dist/hooks/useObjectEffects.d.ts +23 -0
  425. package/dist/hooks/useObjectEffects.d.ts.map +1 -0
  426. package/dist/hooks/useObjectEffects.js +162 -0
  427. package/dist/hooks/useOrbitControls.d.ts +7 -0
  428. package/dist/hooks/useOrbitControls.d.ts.map +1 -0
  429. package/dist/hooks/useOrbitControls.js +9 -0
  430. package/dist/hooks/useOutline.d.ts +9 -0
  431. package/dist/hooks/useOutline.d.ts.map +1 -0
  432. package/dist/hooks/useOutline.js +14 -0
  433. package/dist/hooks/useParticlePositions.d.ts +19 -0
  434. package/dist/hooks/useParticlePositions.d.ts.map +1 -0
  435. package/dist/hooks/useParticlePositions.js +56 -0
  436. package/dist/hooks/useParticlesColors.d.ts +14 -0
  437. package/dist/hooks/useParticlesColors.d.ts.map +1 -0
  438. package/dist/hooks/useParticlesColors.js +27 -0
  439. package/dist/hooks/useParticlesTextures.d.ts +10 -0
  440. package/dist/hooks/useParticlesTextures.d.ts.map +1 -0
  441. package/dist/hooks/useParticlesTextures.js +23 -0
  442. package/dist/hooks/usePathAnimation.d.ts +26 -0
  443. package/dist/hooks/usePathAnimation.d.ts.map +1 -0
  444. package/dist/hooks/usePathAnimation.js +130 -0
  445. package/dist/hooks/useSequenceAnimation.d.ts +14 -0
  446. package/dist/hooks/useSequenceAnimation.d.ts.map +1 -0
  447. package/dist/hooks/useSequenceAnimation.js +260 -0
  448. package/dist/hooks/useShadowApplication.d.ts +3 -0
  449. package/dist/hooks/useShadowApplication.d.ts.map +1 -0
  450. package/dist/hooks/useShadowApplication.js +31 -0
  451. package/dist/hooks/useShapeGeometry.d.ts +8 -0
  452. package/dist/hooks/useShapeGeometry.d.ts.map +1 -0
  453. package/dist/hooks/useShapeGeometry.js +12 -0
  454. package/dist/hooks/useSkyAnimation.d.ts +13 -0
  455. package/dist/hooks/useSkyAnimation.d.ts.map +1 -0
  456. package/dist/hooks/useSkyAnimation.js +36 -0
  457. package/dist/hooks/useSkySystem.d.ts +25 -0
  458. package/dist/hooks/useSkySystem.d.ts.map +1 -0
  459. package/dist/hooks/useSkySystem.js +59 -0
  460. package/dist/hooks/useSkyUniforms.d.ts +18 -0
  461. package/dist/hooks/useSkyUniforms.d.ts.map +1 -0
  462. package/dist/hooks/useSkyUniforms.js +71 -0
  463. package/dist/hooks/useTransformControls.d.ts +6 -0
  464. package/dist/hooks/useTransformControls.d.ts.map +1 -0
  465. package/dist/hooks/useTransformControls.js +111 -0
  466. package/dist/hooks/useVolumePoints.d.ts +9 -0
  467. package/dist/hooks/useVolumePoints.d.ts.map +1 -0
  468. package/dist/hooks/useVolumePoints.js +22 -0
  469. package/dist/hooks/useWaterEnvironment.d.ts +5 -0
  470. package/dist/hooks/useWaterEnvironment.d.ts.map +1 -0
  471. package/dist/hooks/useWaterEnvironment.js +27 -0
  472. package/dist/hooks/useWaterReflections.d.ts +18 -0
  473. package/dist/hooks/useWaterReflections.d.ts.map +1 -0
  474. package/dist/hooks/useWaterReflections.js +84 -0
  475. package/dist/index.d.ts +146 -0
  476. package/dist/index.d.ts.map +1 -0
  477. package/dist/index.js +119 -0
  478. package/dist/services/AnimationsManager.d.ts +33 -0
  479. package/dist/services/AnimationsManager.d.ts.map +1 -0
  480. package/dist/services/AnimationsManager.js +58 -0
  481. package/dist/services/FontManager.d.ts +32 -0
  482. package/dist/services/FontManager.d.ts.map +1 -0
  483. package/dist/services/FontManager.js +76 -0
  484. package/dist/services/TexturesManager.d.ts +17 -0
  485. package/dist/services/TexturesManager.d.ts.map +1 -0
  486. package/dist/services/TexturesManager.js +48 -0
  487. package/dist/shaders/RainMaterial.d.ts +34 -0
  488. package/dist/shaders/RainMaterial.d.ts.map +1 -0
  489. package/dist/shaders/RainMaterial.js +56 -0
  490. package/dist/shaders/ShaderEffectsMaterial.d.ts +228 -0
  491. package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
  492. package/dist/shaders/ShaderEffectsMaterial.js +233 -0
  493. package/dist/shaders/ShootingStarMaterial.d.ts +14 -0
  494. package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
  495. package/dist/shaders/ShootingStarMaterial.js +33 -0
  496. package/dist/shaders/SkyboxMaterial.d.ts +38 -0
  497. package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
  498. package/dist/shaders/SkyboxMaterial.js +57 -0
  499. package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts +2 -0
  500. package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts.map +1 -0
  501. package/dist/shaders/effects/EffectsVertexFunctions.glsl.js +115 -0
  502. package/dist/utils/CameraSingleton.d.ts +43 -0
  503. package/dist/utils/CameraSingleton.d.ts.map +1 -0
  504. package/dist/utils/CameraSingleton.js +199 -0
  505. package/dist/utils/anchorUtils.d.ts +10 -0
  506. package/dist/utils/anchorUtils.d.ts.map +1 -0
  507. package/dist/utils/anchorUtils.js +13 -0
  508. package/dist/utils/cursorPicking.d.ts +8 -0
  509. package/dist/utils/cursorPicking.d.ts.map +1 -0
  510. package/dist/utils/cursorPicking.js +35 -0
  511. package/dist/utils/extractOutline.d.ts +18 -0
  512. package/dist/utils/extractOutline.d.ts.map +1 -0
  513. package/dist/utils/extractOutline.js +47 -0
  514. package/dist/utils/frameAnimations.d.ts +49 -0
  515. package/dist/utils/frameAnimations.d.ts.map +1 -0
  516. package/dist/utils/frameAnimations.js +213 -0
  517. package/dist/utils/handleGenerativeEffectsAnimations.d.ts +5 -0
  518. package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
  519. package/dist/utils/handleGenerativeEffectsAnimations.js +268 -0
  520. package/dist/utils/hasHoverAnimation.d.ts +3 -0
  521. package/dist/utils/hasHoverAnimation.d.ts.map +1 -0
  522. package/dist/utils/hasHoverAnimation.js +15 -0
  523. package/dist/utils/materialUtils.d.ts +23 -0
  524. package/dist/utils/materialUtils.d.ts.map +1 -0
  525. package/dist/utils/materialUtils.js +81 -0
  526. package/dist/utils/particleAnimations.d.ts +3 -0
  527. package/dist/utils/particleAnimations.d.ts.map +1 -0
  528. package/dist/utils/particleAnimations.js +17 -0
  529. package/dist/utils/sampleVolume.d.ts +21 -0
  530. package/dist/utils/sampleVolume.d.ts.map +1 -0
  531. package/dist/utils/sampleVolume.js +44 -0
  532. package/dist/utils/sceneQuery.d.ts +9 -0
  533. package/dist/utils/sceneQuery.d.ts.map +1 -0
  534. package/dist/utils/sceneQuery.js +22 -0
  535. package/dist/utils/shaderUtils.d.ts +6 -0
  536. package/dist/utils/shaderUtils.d.ts.map +1 -0
  537. package/dist/utils/shaderUtils.js +151 -0
  538. package/dist/utils/shapes.d.ts +74 -0
  539. package/dist/utils/shapes.d.ts.map +1 -0
  540. package/dist/utils/shapes.js +443 -0
  541. package/dist/utils/textEffects.d.ts +31 -0
  542. package/dist/utils/textEffects.d.ts.map +1 -0
  543. package/dist/utils/textEffects.js +61 -0
  544. package/dist/utils/utils3d.d.ts +7 -0
  545. package/dist/utils/utils3d.d.ts.map +1 -0
  546. package/dist/utils/utils3d.js +34 -0
  547. package/package.json +44 -0
@@ -0,0 +1,191 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { useFrame } from '@react-three/fiber';
4
+ import * as THREE from 'three';
5
+ const MAX_TRAIL = 1500;
6
+ const vertexShader = /* glsl */ `
7
+ attribute float aIndex;
8
+ uniform float uSize;
9
+ uniform float uTrailLength;
10
+ varying float vFrac;
11
+ void main() {
12
+ vFrac = clamp(aIndex / max(uTrailLength, 1.0), 0.0, 1.0);
13
+ vec4 mv = modelViewMatrix * vec4(position, 1.0);
14
+ // Newest point (aIndex=0) is largest; oldest (aIndex≈trailLength) smallest
15
+ float size = uSize * (1.0 - vFrac * 0.85);
16
+ gl_PointSize = size * (300.0 / -mv.z);
17
+ gl_Position = projectionMatrix * mv;
18
+ }
19
+ `;
20
+ const fragmentShader = /* glsl */ `
21
+ uniform vec3 uHead;
22
+ uniform vec3 uTail;
23
+ uniform float uOpacity;
24
+ uniform float uIntensity;
25
+ varying float vFrac;
26
+ void main() {
27
+ vec2 c = gl_PointCoord * 2.0 - 1.0;
28
+ float dist = length(c);
29
+ if (dist > 1.0) discard;
30
+ float core = 1.0 - smoothstep(0.0, 1.0, dist);
31
+ vec3 col = mix(uHead, uTail, vFrac) * (1.0 + uIntensity * 0.8);
32
+ float fade = (1.0 - vFrac);
33
+ float alpha = core * fade * uOpacity;
34
+ if (alpha < 0.003) discard;
35
+ gl_FragColor = vec4(col, alpha);
36
+ }
37
+ `;
38
+ const impactFrag = /* glsl */ `
39
+ uniform vec3 uColor;
40
+ uniform float uOpacity;
41
+ varying vec2 vUv;
42
+ void main() {
43
+ vec2 c = vUv * 2.0 - 1.0;
44
+ float dist = length(c);
45
+ if (dist > 1.0) discard;
46
+ // Bright core + soft falloff
47
+ float core = pow(1.0 - dist, 2.0);
48
+ float ring = smoothstep(0.55, 0.75, dist) * smoothstep(1.0, 0.78, dist);
49
+ float alpha = (core * 0.9 + ring * 0.6) * uOpacity;
50
+ if (alpha < 0.003) discard;
51
+ vec3 col = uColor * (1.0 + core * 1.2);
52
+ gl_FragColor = vec4(col, alpha);
53
+ }
54
+ `;
55
+ const impactVert = /* glsl */ `
56
+ varying vec2 vUv;
57
+ void main() {
58
+ vUv = uv;
59
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
60
+ }
61
+ `;
62
+ const CometCursor = ({ config, worldPosRef, hoverRef, idleMsRef, }) => {
63
+ // Packed newest-first layout: slot 0 = newest, slot count-1 = oldest.
64
+ const positions = useMemo(() => new Float32Array(MAX_TRAIL * 3), []);
65
+ const indices = useMemo(() => {
66
+ const arr = new Float32Array(MAX_TRAIL);
67
+ for (let i = 0; i < MAX_TRAIL; i++)
68
+ arr[i] = i;
69
+ return arr;
70
+ }, []);
71
+ const geometry = useMemo(() => {
72
+ const g = new THREE.BufferGeometry();
73
+ g.setAttribute('position', new THREE.BufferAttribute(positions, 3));
74
+ g.setAttribute('aIndex', new THREE.BufferAttribute(indices, 1));
75
+ g.setDrawRange(0, 0);
76
+ return g;
77
+ }, [positions, indices]);
78
+ const material = useMemo(() => {
79
+ const head = new THREE.Color(config.color);
80
+ const tail = head.clone().multiplyScalar(0.3);
81
+ return new THREE.ShaderMaterial({
82
+ uniforms: {
83
+ uSize: { value: config.scale * 0.8 },
84
+ uTrailLength: { value: config.trailLength },
85
+ uHead: { value: new THREE.Vector3(head.r, head.g, head.b) },
86
+ uTail: { value: new THREE.Vector3(tail.r, tail.g, tail.b) },
87
+ uOpacity: { value: config.opacity },
88
+ uIntensity: { value: config.intensity },
89
+ },
90
+ vertexShader,
91
+ fragmentShader,
92
+ transparent: true,
93
+ depthWrite: false,
94
+ blending: THREE.AdditiveBlending,
95
+ });
96
+ }, []);
97
+ useEffect(() => {
98
+ const head = new THREE.Color(config.color);
99
+ const tail = head.clone().multiplyScalar(0.3);
100
+ material.uniforms.uHead.value.set(head.r, head.g, head.b);
101
+ material.uniforms.uTail.value.set(tail.r, tail.g, tail.b);
102
+ material.uniforms.uSize.value = config.scale * 0.8;
103
+ material.uniforms.uTrailLength.value = config.trailLength;
104
+ material.uniforms.uOpacity.value = config.opacity;
105
+ material.uniforms.uIntensity.value = config.intensity;
106
+ }, [config.color, config.scale, config.trailLength, config.opacity, config.intensity, material]);
107
+ // Impact glow at hovered surface — billboarded plane with additive shader
108
+ const impactRef = useRef(null);
109
+ const impactGeom = useMemo(() => new THREE.PlaneGeometry(1, 1), []);
110
+ const impactMat = useMemo(() => new THREE.ShaderMaterial({
111
+ uniforms: {
112
+ uColor: { value: new THREE.Color(config.color) },
113
+ uOpacity: { value: 0 },
114
+ },
115
+ vertexShader: impactVert,
116
+ fragmentShader: impactFrag,
117
+ transparent: true,
118
+ depthWrite: false,
119
+ blending: THREE.AdditiveBlending,
120
+ }), []);
121
+ useEffect(() => {
122
+ impactMat.uniforms.uColor.value.set(config.color);
123
+ }, [config.color, impactMat]);
124
+ useEffect(() => () => {
125
+ geometry.dispose();
126
+ material.dispose();
127
+ impactGeom.dispose();
128
+ impactMat.dispose();
129
+ }, [geometry, material, impactGeom, impactMat]);
130
+ const impactOpacity = useRef(0);
131
+ const countRef = useRef(0);
132
+ const lastPos = useRef(new THREE.Vector3());
133
+ const firstFrame = useRef(true);
134
+ useFrame((state, delta) => {
135
+ const wp = worldPosRef.current;
136
+ if (firstFrame.current) {
137
+ lastPos.current.copy(wp);
138
+ firstFrame.current = false;
139
+ }
140
+ const target = Math.min(config.trailLength, MAX_TRAIL, config.particleCount);
141
+ // Push new samples by interpolating between lastPos and current pos
142
+ const moved = wp.distanceTo(lastPos.current);
143
+ const steps = Math.max(1, Math.min(8, Math.ceil(moved / 0.05)));
144
+ for (let s = 1; s <= steps; s++) {
145
+ const t = s / steps;
146
+ const nx = THREE.MathUtils.lerp(lastPos.current.x, wp.x, t);
147
+ const ny = THREE.MathUtils.lerp(lastPos.current.y, wp.y, t);
148
+ const nz = THREE.MathUtils.lerp(lastPos.current.z, wp.z, t);
149
+ // Shift the packed buffer down by one slot (3 floats)
150
+ // copyWithin(targetStart, srcStart, srcEnd) — exclusive end
151
+ const live = Math.min(countRef.current, target - 1);
152
+ if (live > 0) {
153
+ positions.copyWithin(3, 0, live * 3);
154
+ }
155
+ positions[0] = nx;
156
+ positions[1] = ny;
157
+ positions[2] = nz;
158
+ countRef.current = Math.min(countRef.current + 1, target);
159
+ }
160
+ lastPos.current.copy(wp);
161
+ geometry.setDrawRange(0, countRef.current);
162
+ geometry.attributes.position.needsUpdate = true;
163
+ const idleFactor = Math.max(0, 1 - idleMsRef.current / Math.max(config.idleFadeMs, 1));
164
+ const hover = hoverRef.current;
165
+ // Boost head intensity when hovering an object.
166
+ material.uniforms.uIntensity.value = config.intensity * (hover ? 1.6 : 1.0);
167
+ material.uniforms.uOpacity.value = config.opacity * (0.5 + 0.5 * idleFactor);
168
+ // Impact glow follows hover hit point; smooth fade-in/out.
169
+ const impact = impactRef.current;
170
+ if (impact) {
171
+ const targetOpacity = hover ? config.opacity : 0;
172
+ impactOpacity.current = THREE.MathUtils.damp(impactOpacity.current, targetOpacity, 12, delta);
173
+ impactMat.uniforms.uOpacity.value = impactOpacity.current;
174
+ if (hover) {
175
+ impact.position.copy(hover.point);
176
+ // Offset slightly along the surface normal so it doesn't z-fight.
177
+ const n = hover.face?.normal;
178
+ if (n)
179
+ impact.position.addScaledVector(n, 0.01);
180
+ }
181
+ // Always billboard to camera + scale with config + soft pulse.
182
+ impact.quaternion.copy(state.camera.quaternion);
183
+ const pulse = 1 + Math.sin(state.clock.getElapsedTime() * 6) * 0.08;
184
+ const s = config.scale * 0.6 * pulse;
185
+ impact.scale.setScalar(s);
186
+ impact.visible = impactOpacity.current > 0.005;
187
+ }
188
+ });
189
+ return (_jsxs(_Fragment, { children: [_jsx("points", { geometry: geometry, material: material, frustumCulled: false }), _jsx("mesh", { ref: impactRef, geometry: impactGeom, material: impactMat, visible: false })] }));
190
+ };
191
+ export default CometCursor;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { CrosshairCursorConfig } from "@3driseai/3drise-core";
3
+ import type { CursorTypeProps } from "./CursorController";
4
+ declare const CrosshairCursor: React.FC<CursorTypeProps<CrosshairCursorConfig>>;
5
+ export default CrosshairCursor;
6
+ //# sourceMappingURL=CrosshairCursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrosshairCursor.d.ts","sourceRoot":"","sources":["../../../src/components/cursor/CrosshairCursor.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAe1D,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,qBAAqB,CAAC,CA2HrE,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { useFrame } from '@react-three/fiber';
4
+ import * as THREE from 'three';
5
+ function hasValidPositions(geo) {
6
+ const pos = geo.getAttribute('position');
7
+ if (!pos || pos.count === 0)
8
+ return false;
9
+ const arr = pos.array;
10
+ // Sample a few values — full scan would be wasteful for big meshes.
11
+ const samples = Math.min(arr.length, 30);
12
+ for (let i = 0; i < samples; i++) {
13
+ if (!Number.isFinite(arr[i]))
14
+ return false;
15
+ }
16
+ return true;
17
+ }
18
+ const CrosshairCursor = ({ config, worldPosRef, hoverRef, idleMsRef, }) => {
19
+ // Billboarded reticle group (ring + ticks)
20
+ const reticleRef = useRef(null);
21
+ const ringRef = useRef(null);
22
+ // World-space outline group (NOT billboarded) for the hovered object outline
23
+ const outlineGroupRef = useRef(null);
24
+ const outlineRef = useRef(null);
25
+ const ringGeom = useMemo(() => new THREE.RingGeometry(0.35, 0.42, 32), []);
26
+ const ringMat = useMemo(() => new THREE.MeshBasicMaterial({
27
+ color: config.color,
28
+ transparent: true,
29
+ opacity: config.opacity,
30
+ side: THREE.DoubleSide,
31
+ depthWrite: false,
32
+ }), [config.color, config.opacity]);
33
+ const tickGeom = useMemo(() => {
34
+ const g = new THREE.BufferGeometry();
35
+ const r1 = 0.5, r2 = 0.7;
36
+ const verts = new Float32Array([
37
+ r1, 0, 0, r2, 0, 0,
38
+ -r1, 0, 0, -r2, 0, 0,
39
+ 0, r1, 0, 0, r2, 0,
40
+ 0, -r1, 0, 0, -r2, 0,
41
+ ]);
42
+ g.setAttribute('position', new THREE.BufferAttribute(verts, 3));
43
+ return g;
44
+ }, []);
45
+ const tickMat = useMemo(() => new THREE.LineBasicMaterial({
46
+ color: config.color,
47
+ transparent: true,
48
+ opacity: config.opacity,
49
+ depthWrite: false,
50
+ }), [config.color, config.opacity]);
51
+ const outlineMat = useMemo(() => new THREE.LineBasicMaterial({
52
+ color: config.outlineColor,
53
+ transparent: true,
54
+ opacity: 0.85,
55
+ depthTest: false,
56
+ }), [config.outlineColor]);
57
+ const outlineGeomRef = useRef(null);
58
+ const lastHoveredRef = useRef(null);
59
+ useEffect(() => () => {
60
+ ringGeom.dispose();
61
+ ringMat.dispose();
62
+ tickGeom.dispose();
63
+ tickMat.dispose();
64
+ outlineMat.dispose();
65
+ outlineGeomRef.current?.dispose();
66
+ }, [ringGeom, ringMat, tickGeom, tickMat, outlineMat]);
67
+ useFrame((state) => {
68
+ const reticle = reticleRef.current;
69
+ const outlineGroup = outlineGroupRef.current;
70
+ if (!reticle || !outlineGroup)
71
+ return;
72
+ const hover = hoverRef.current;
73
+ // Only treat actual meshes with valid geometry as hover targets for outline.
74
+ const validMesh = hover && hover.object instanceof THREE.Mesh && hover.object.geometry
75
+ ? hover.object
76
+ : null;
77
+ // Reticle position: snap to the bounding-box center of the hovered MESH
78
+ // (so we don't snap to a parent Group origin), otherwise follow the cursor.
79
+ let targetPos;
80
+ if (validMesh) {
81
+ const box = new THREE.Box3().setFromObject(validMesh);
82
+ targetPos = box.isEmpty() ? worldPosRef.current : box.getCenter(new THREE.Vector3());
83
+ }
84
+ else {
85
+ targetPos = worldPosRef.current;
86
+ }
87
+ reticle.position.lerp(targetPos, 0.35);
88
+ reticle.scale.setScalar(config.scale);
89
+ // Billboard reticle to camera
90
+ reticle.quaternion.copy(state.camera.quaternion);
91
+ // Spin ring
92
+ const t = state.clock.getElapsedTime();
93
+ if (ringRef.current)
94
+ ringRef.current.rotation.z = t * 1.2;
95
+ // Outline: separate world-space group, NOT billboarded.
96
+ // Rebuild only when the hovered object identity changes.
97
+ if (validMesh !== lastHoveredRef.current) {
98
+ lastHoveredRef.current = validMesh;
99
+ // Dispose previous outline geometry; the LineSegments object stays.
100
+ outlineGeomRef.current?.dispose();
101
+ outlineGeomRef.current = null;
102
+ if (validMesh && outlineRef.current) {
103
+ const srcGeo = validMesh.geometry;
104
+ if (hasValidPositions(srcGeo)) {
105
+ try {
106
+ const edges = new THREE.EdgesGeometry(srcGeo, 30);
107
+ // Defensive: verify the resulting edges geometry isn't degenerate.
108
+ if (hasValidPositions(edges)) {
109
+ outlineGeomRef.current = edges;
110
+ outlineRef.current.geometry = edges;
111
+ }
112
+ else {
113
+ edges.dispose();
114
+ }
115
+ }
116
+ catch {
117
+ // Some geometries (skinned, instanced without positions, etc.) can throw.
118
+ // Silently skip the outline.
119
+ }
120
+ }
121
+ }
122
+ }
123
+ // Each frame, copy the hovered mesh's world transform onto the outline group
124
+ // so the outline stays attached even if the object moves.
125
+ if (validMesh && outlineGeomRef.current && outlineRef.current) {
126
+ validMesh.updateWorldMatrix(true, false);
127
+ outlineGroup.position.setFromMatrixPosition(validMesh.matrixWorld);
128
+ outlineGroup.quaternion.setFromRotationMatrix(validMesh.matrixWorld);
129
+ outlineGroup.scale.setFromMatrixScale(validMesh.matrixWorld);
130
+ outlineRef.current.visible = true;
131
+ }
132
+ else if (outlineRef.current) {
133
+ outlineRef.current.visible = false;
134
+ }
135
+ // Idle fade on the reticle (not the outline — outline reads object presence, not idle).
136
+ const idleFactor = Math.max(0, 1 - idleMsRef.current / Math.max(config.idleFadeMs, 1));
137
+ ringMat.opacity = config.opacity * (0.4 + 0.6 * idleFactor);
138
+ tickMat.opacity = config.opacity * (0.4 + 0.6 * idleFactor);
139
+ });
140
+ return (_jsxs(_Fragment, { children: [_jsxs("group", { ref: reticleRef, children: [_jsx("mesh", { ref: ringRef, geometry: ringGeom, material: ringMat }), _jsx("lineSegments", { geometry: tickGeom, material: tickMat })] }), _jsx("group", { ref: outlineGroupRef, children: _jsx("lineSegments", { ref: outlineRef, material: outlineMat, visible: false }) })] }));
141
+ };
142
+ export default CrosshairCursor;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ClickActionConfig } from "@3driseai/3drise-core";
3
+ export interface CursorActionsProps {
4
+ clickActions?: ClickActionConfig[];
5
+ }
6
+ declare const CursorActions: React.FC<CursorActionsProps>;
7
+ export default CursorActions;
8
+ //# sourceMappingURL=CursorActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorActions.d.ts","sourceRoot":"","sources":["../../../src/components/cursor/CursorActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAYjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqG/C,CAAC;AACF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,124 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { useFrame, useThree } from '@react-three/fiber';
4
+ import * as THREE from 'three';
5
+ import ShockwaveAction from './clickActions/ShockwaveAction.js';
6
+ import SparklesBurstAction from './clickActions/SparklesBurstAction.js';
7
+ import BoltFlashAction from './clickActions/BoltFlashAction.js';
8
+ import PlasmaBombAction from './clickActions/PlasmaBombAction.js';
9
+ import RealityTearAction from './clickActions/RealityTearAction.js';
10
+ import ImplosionAction from './clickActions/ImplosionAction.js';
11
+ import VoronoiFractureAction from './clickActions/VoronoiFractureAction.js';
12
+ import PhaseShiftAction from './clickActions/PhaseShiftAction.js';
13
+ import GlyphInscriptionAction from './clickActions/GlyphInscriptionAction.js';
14
+ // Fixed distance in front of the camera at which clicks are spawned, in world
15
+ // units. The action's `config.scale` is the world-size at this distance, so
16
+ // apparent screen size is stable. Tune here if needed.
17
+ const CLICK_PLANE_DISTANCE = 8;
18
+ // Half-height (world units) at CLICK_PLANE_DISTANCE — used when the camera is
19
+ // orthographic (no fov) as a sensible fallback.
20
+ const ORTHO_FALLBACK_HALF_HEIGHT = CLICK_PLANE_DISTANCE * 0.5;
21
+ let clickIdCounter = 0;
22
+ const CursorActions = ({ clickActions = [] }) => {
23
+ const { camera, gl } = useThree();
24
+ // Group that mirrors the camera each frame so any child rendered inside it
25
+ // appears at a fixed offset from the camera in world space — i.e., as if it
26
+ // were a 2D HUD overlay anchored to the screen.
27
+ const followGroupRef = useRef(null);
28
+ // Pending one-shot click action instances. Each entry maps to one rendered
29
+ // child that self-disposes via onDone.
30
+ const [pendingClicks, setPendingClicks] = React.useState([]);
31
+ // Mirror `clickActions` into a ref so the pointerdown listener stays
32
+ // attached even when Redux hands us a new array reference on each tick.
33
+ const clickActionsRef = useRef(clickActions);
34
+ useEffect(() => { clickActionsRef.current = clickActions; }, [clickActions]);
35
+ // Click listener — independent of cursor-effect state.
36
+ const hasFiringActions = clickActions.some(c => c.type !== 'none');
37
+ useEffect(() => {
38
+ if (!hasFiringActions)
39
+ return;
40
+ const el = gl.domElement;
41
+ const onDown = (e) => {
42
+ const rect = el.getBoundingClientRect();
43
+ // NDC: -1..1 across the canvas
44
+ const ndcX = ((e.clientX - rect.left) / rect.width) * 2 - 1;
45
+ const ndcY = -((e.clientY - rect.top) / rect.height) * 2 + 1;
46
+ // Project the NDC click onto a plane at CLICK_PLANE_DISTANCE in front of
47
+ // the camera, in camera-local space. Visible half-height at that
48
+ // distance is `d * tan(fov/2)` for a perspective camera.
49
+ let halfHeight;
50
+ let halfWidth;
51
+ const persp = camera;
52
+ if (persp.isPerspectiveCamera) {
53
+ const fovRad = (persp.fov * Math.PI) / 180;
54
+ halfHeight = CLICK_PLANE_DISTANCE * Math.tan(fovRad / 2);
55
+ halfWidth = halfHeight * persp.aspect;
56
+ }
57
+ else {
58
+ // Orthographic or unknown: use a sensible fallback derived from the
59
+ // canvas aspect ratio.
60
+ halfHeight = ORTHO_FALLBACK_HALF_HEIGHT;
61
+ halfWidth = halfHeight * (rect.width / Math.max(rect.height, 1));
62
+ }
63
+ const localPos = new THREE.Vector3(ndcX * halfWidth, ndcY * halfHeight, -CLICK_PLANE_DISTANCE);
64
+ const currentActions = clickActionsRef.current;
65
+ const toAdd = [];
66
+ for (let i = 0; i < currentActions.length; i++) {
67
+ if (currentActions[i].type === 'none')
68
+ continue;
69
+ toAdd.push({ id: ++clickIdCounter, actionIndex: i, localPos });
70
+ }
71
+ if (toAdd.length)
72
+ setPendingClicks(prev => prev.concat(toAdd));
73
+ };
74
+ el.addEventListener('pointerdown', onDown);
75
+ return () => el.removeEventListener('pointerdown', onDown);
76
+ }, [hasFiringActions, camera, gl.domElement]);
77
+ const removeClick = (id) => {
78
+ setPendingClicks(prev => prev.filter(c => c.id !== id));
79
+ };
80
+ // Each frame, mirror the camera's world transform onto the follow group.
81
+ // Force-update its matrixWorld so child actions' `lookAt(camera.position)`
82
+ // calls compute against the current parent transform within the same tick.
83
+ // Negative `useFrame` priority makes this run before action components'
84
+ // own `useFrame` callbacks.
85
+ useFrame(() => {
86
+ const g = followGroupRef.current;
87
+ if (!g)
88
+ return;
89
+ g.position.copy(camera.position);
90
+ g.quaternion.copy(camera.quaternion);
91
+ g.updateMatrixWorld(true);
92
+ }, -1);
93
+ return (_jsx("group", { ref: followGroupRef, children: pendingClicks.map(pc => {
94
+ const ca = clickActions[pc.actionIndex];
95
+ if (!ca)
96
+ return null;
97
+ // Each action accepts `worldPos` — but because it's rendered inside
98
+ // the camera-follow group, the prop is effectively the action's
99
+ // position in screen-anchored space.
100
+ switch (ca.type) {
101
+ case 'shockwave':
102
+ return _jsx(ShockwaveAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
103
+ case 'sparklesBurst':
104
+ return _jsx(SparklesBurstAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
105
+ case 'boltFlash':
106
+ return _jsx(BoltFlashAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
107
+ case 'plasmaBomb':
108
+ return _jsx(PlasmaBombAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
109
+ case 'realityTear':
110
+ return _jsx(RealityTearAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
111
+ case 'implosion':
112
+ return _jsx(ImplosionAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
113
+ case 'voronoiFracture':
114
+ return _jsx(VoronoiFractureAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
115
+ case 'phaseShift':
116
+ return _jsx(PhaseShiftAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
117
+ case 'glyphInscription':
118
+ return _jsx(GlyphInscriptionAction, { worldPos: pc.localPos, config: ca, onDone: () => removeClick(pc.id) }, pc.id);
119
+ default:
120
+ return null;
121
+ }
122
+ }) }));
123
+ };
124
+ export default CursorActions;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { CursorConfig, ClickActionConfig } from "@3driseai/3drise-core";
3
+ export type { CursorTypeProps } from './CursorEffects';
4
+ export interface CursorControllerProps {
5
+ effects?: CursorConfig[];
6
+ clickActions?: ClickActionConfig[];
7
+ }
8
+ declare const CursorController: React.FC<CursorControllerProps>;
9
+ export default CursorController;
10
+ //# sourceMappingURL=CursorController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorController.d.ts","sourceRoot":"","sources":["../../../src/components/cursor/CursorController.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAGD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAqI,CAAC;AAC5L,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import CursorEffects from './CursorEffects.js';
3
+ import CursorActions from './CursorActions.js';
4
+ const CursorController = ({ effects = [], clickActions = [], }) => (_jsxs(_Fragment, { children: [_jsx(CursorEffects, { effects: effects }), _jsx(CursorActions, { clickActions: clickActions })] }));
5
+ export default CursorController;
@@ -0,0 +1,16 @@
1
+ import * as THREE from 'three';
2
+ import React from "react";
3
+ import type { CursorConfig } from "@3driseai/3drise-core";
4
+ export interface CursorTypeProps<C extends CursorConfig = CursorConfig> {
5
+ config: C;
6
+ worldPosRef: React.RefObject<THREE.Vector3>;
7
+ velocityRef: React.RefObject<THREE.Vector3>;
8
+ hoverRef: React.RefObject<THREE.Intersection | null>;
9
+ idleMsRef: React.RefObject<number>;
10
+ }
11
+ export interface CursorEffectsProps {
12
+ effects?: CursorConfig[];
13
+ }
14
+ declare const CursorEffects: React.FC<CursorEffectsProps>;
15
+ export default CursorEffects;
16
+ //# sourceMappingURL=CursorEffects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorEffects.d.ts","sourceRoot":"","sources":["../../../src/components/cursor/CursorEffects.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAClE,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkF/C,CAAC;AACF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { useFrame, useThree } from '@react-three/fiber';
4
+ import * as THREE from 'three';
5
+ import { pickCursorWorldPos } from '../../utils/cursorPicking.js';
6
+ import SparklesCursor from './SparklesCursor.js';
7
+ import OrbCursor from './OrbCursor.js';
8
+ import AuraCursor from './AuraCursor.js';
9
+ import CrosshairCursor from './CrosshairCursor.js';
10
+ import LiquidMetalCursor from './LiquidMetalCursor.js';
11
+ import LightningCursor from './LightningCursor.js';
12
+ import CometCursor from './CometCursor.js';
13
+ import AuroraCursor from './AuroraCursor.js';
14
+ import BubblesCursor from './BubblesCursor.js';
15
+ import TeslaCursor from './TeslaCursor.js';
16
+ import PlasmaWhipCursor from './PlasmaWhipCursor.js';
17
+ import GlyphRingCursor from './GlyphRingCursor.js';
18
+ import FerrofluidCursor from './FerrofluidCursor.js';
19
+ const createTickState = () => ({
20
+ worldPosRef: { current: new THREE.Vector3() },
21
+ lastPosRef: { current: new THREE.Vector3() },
22
+ velocityRef: { current: new THREE.Vector3() },
23
+ hoverRef: { current: null },
24
+ idleMsRef: { current: 0 },
25
+ firstFrameRef: { current: true },
26
+ });
27
+ const CursorEffects = ({ effects = [] }) => {
28
+ const { camera, gl, scene, raycaster, pointer } = useThree();
29
+ // Per-effect ref bundles. Indexed by effect position. Grows/shrinks as the
30
+ // effects array length changes, but individual entries are stable so the
31
+ // child components don't lose their refs across renders.
32
+ const tickStatesRef = useRef([]);
33
+ while (tickStatesRef.current.length < effects.length) {
34
+ tickStatesRef.current.push(createTickState());
35
+ }
36
+ if (tickStatesRef.current.length > effects.length) {
37
+ tickStatesRef.current.length = effects.length;
38
+ }
39
+ // Private scratch vector — not shared with click action code.
40
+ const tmpPos = useMemo(() => new THREE.Vector3(), []);
41
+ const anyEnabled = effects.some(e => e.enabled);
42
+ // Hide OS cursor over the canvas when any effect is active.
43
+ useEffect(() => {
44
+ if (!anyEnabled)
45
+ return;
46
+ const el = gl.domElement;
47
+ const prev = el.style.cursor;
48
+ el.style.cursor = 'none';
49
+ return () => { el.style.cursor = prev; };
50
+ }, [anyEnabled, gl.domElement]);
51
+ // Per-frame position/velocity/hover update for each enabled effect.
52
+ useFrame((_, delta) => {
53
+ for (let i = 0; i < effects.length; i++) {
54
+ const eff = effects[i];
55
+ if (!eff.enabled)
56
+ continue;
57
+ const s = tickStatesRef.current[i];
58
+ const result = pickCursorWorldPos(eff.pickMode, raycaster, scene, camera, pointer, eff.planeDistance, tmpPos);
59
+ if (s.firstFrameRef.current) {
60
+ s.lastPosRef.current.copy(result.worldPos);
61
+ s.firstFrameRef.current = false;
62
+ }
63
+ const moved = result.worldPos.distanceToSquared(s.lastPosRef.current) > 1e-8;
64
+ if (moved) {
65
+ s.idleMsRef.current = 0;
66
+ }
67
+ else {
68
+ s.idleMsRef.current += delta * 1000;
69
+ }
70
+ const dt = Math.max(delta, 1 / 120);
71
+ s.velocityRef.current
72
+ .subVectors(result.worldPos, s.lastPosRef.current)
73
+ .divideScalar(dt);
74
+ s.lastPosRef.current.copy(result.worldPos);
75
+ s.worldPosRef.current.copy(result.worldPos);
76
+ s.hoverRef.current = result.hover;
77
+ }
78
+ });
79
+ const renderEffect = (eff, idx) => {
80
+ if (!eff.enabled)
81
+ return null;
82
+ const s = tickStatesRef.current[idx];
83
+ if (!s)
84
+ return null;
85
+ const shared = {
86
+ worldPosRef: s.worldPosRef,
87
+ velocityRef: s.velocityRef,
88
+ hoverRef: s.hoverRef,
89
+ idleMsRef: s.idleMsRef,
90
+ };
91
+ const key = `${idx}-${eff.type}`;
92
+ switch (eff.type) {
93
+ case 'sparkles': return _jsx(SparklesCursor, { config: eff, ...shared }, key);
94
+ case 'orb': return _jsx(OrbCursor, { config: eff, ...shared }, key);
95
+ case 'aura': return _jsx(AuraCursor, { config: eff, ...shared }, key);
96
+ case 'crosshair': return _jsx(CrosshairCursor, { config: eff, ...shared }, key);
97
+ case 'liquidMetal': return _jsx(LiquidMetalCursor, { config: eff, ...shared }, key);
98
+ case 'lightning': return _jsx(LightningCursor, { config: eff, ...shared }, key);
99
+ case 'comet': return _jsx(CometCursor, { config: eff, ...shared }, key);
100
+ case 'aurora': return _jsx(AuroraCursor, { config: eff, ...shared }, key);
101
+ case 'bubbles': return _jsx(BubblesCursor, { config: eff, ...shared }, key);
102
+ case 'tesla': return _jsx(TeslaCursor, { config: eff, ...shared }, key);
103
+ case 'plasmaWhip': return _jsx(PlasmaWhipCursor, { config: eff, ...shared }, key);
104
+ case 'glyphs': return _jsx(GlyphRingCursor, { config: eff, ...shared }, key);
105
+ case 'ferrofluid': return _jsx(FerrofluidCursor, { config: eff, ...shared }, key);
106
+ }
107
+ };
108
+ return _jsx(_Fragment, { children: effects.map(renderEffect) });
109
+ };
110
+ export default CursorEffects;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { FerrofluidCursorConfig } from "@3driseai/3drise-core";
3
+ import type { CursorTypeProps } from "./CursorController";
4
+ declare const FerrofluidCursor: React.FC<CursorTypeProps<FerrofluidCursorConfig>>;
5
+ export default FerrofluidCursor;
6
+ //# sourceMappingURL=FerrofluidCursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FerrofluidCursor.d.ts","sourceRoot":"","sources":["../../../src/components/cursor/FerrofluidCursor.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAgGvE,CAAC;AACF,eAAe,gBAAgB,CAAC"}