@3driseai/3drise-core 1.0.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 (724) hide show
  1. package/dist/constants/index.d.ts +22 -0
  2. package/dist/constants/index.d.ts.map +1 -0
  3. package/dist/constants/index.js +7 -0
  4. package/dist/data/allMaterials.d.ts +5 -0
  5. package/dist/data/allMaterials.d.ts.map +1 -0
  6. package/dist/data/allMaterials.js +932 -0
  7. package/dist/data/defaults.d.ts +107 -0
  8. package/dist/data/defaults.d.ts.map +1 -0
  9. package/dist/data/defaults.js +99 -0
  10. package/dist/data/effectsDefaults.d.ts +4 -0
  11. package/dist/data/effectsDefaults.d.ts.map +1 -0
  12. package/dist/data/effectsDefaults.js +55 -0
  13. package/dist/data/images.d.ts +4 -0
  14. package/dist/data/images.d.ts.map +1 -0
  15. package/dist/data/images.js +50 -0
  16. package/dist/data/index.d.ts +10 -0
  17. package/dist/data/index.d.ts.map +1 -0
  18. package/dist/data/index.js +9 -0
  19. package/dist/data/lightPresets.d.ts +99 -0
  20. package/dist/data/lightPresets.d.ts.map +1 -0
  21. package/dist/data/lightPresets.js +48 -0
  22. package/dist/data/particlesSettings.d.ts +13 -0
  23. package/dist/data/particlesSettings.d.ts.map +1 -0
  24. package/dist/data/particlesSettings.js +94 -0
  25. package/dist/data/paths.d.ts +32 -0
  26. package/dist/data/paths.d.ts.map +1 -0
  27. package/dist/data/paths.js +2597 -0
  28. package/dist/data/shaders.d.ts +12 -0
  29. package/dist/data/shaders.d.ts.map +1 -0
  30. package/dist/data/shaders.js +342 -0
  31. package/dist/data/shapeConfig.d.ts +3 -0
  32. package/dist/data/shapeConfig.d.ts.map +1 -0
  33. package/dist/data/shapeConfig.js +29 -0
  34. package/dist/index.d.ts +72 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +70 -0
  37. package/dist/presets/cloudsPresets.d.ts +32 -0
  38. package/dist/presets/cloudsPresets.d.ts.map +1 -0
  39. package/dist/presets/cloudsPresets.js +257 -0
  40. package/dist/presets/coronaPresets.d.ts +11 -0
  41. package/dist/presets/coronaPresets.d.ts.map +1 -0
  42. package/dist/presets/coronaPresets.js +148 -0
  43. package/dist/presets/crystalPresets.d.ts +38 -0
  44. package/dist/presets/crystalPresets.d.ts.map +1 -0
  45. package/dist/presets/crystalPresets.js +265 -0
  46. package/dist/presets/effectsPresets.d.ts +32 -0
  47. package/dist/presets/effectsPresets.d.ts.map +1 -0
  48. package/dist/presets/effectsPresets.js +438 -0
  49. package/dist/presets/glassPresets.d.ts +36 -0
  50. package/dist/presets/glassPresets.d.ts.map +1 -0
  51. package/dist/presets/glassPresets.js +236 -0
  52. package/dist/presets/index.d.ts +21 -0
  53. package/dist/presets/index.d.ts.map +1 -0
  54. package/dist/presets/index.js +52 -0
  55. package/dist/presets/lavaPresets.d.ts +11 -0
  56. package/dist/presets/lavaPresets.d.ts.map +1 -0
  57. package/dist/presets/lavaPresets.js +202 -0
  58. package/dist/presets/metalPresets.d.ts +33 -0
  59. package/dist/presets/metalPresets.d.ts.map +1 -0
  60. package/dist/presets/metalPresets.js +205 -0
  61. package/dist/presets/oceanPresets.d.ts +37 -0
  62. package/dist/presets/oceanPresets.d.ts.map +1 -0
  63. package/dist/presets/oceanPresets.js +120 -0
  64. package/dist/presets/plasticPresets.d.ts +35 -0
  65. package/dist/presets/plasticPresets.d.ts.map +1 -0
  66. package/dist/presets/plasticPresets.js +245 -0
  67. package/dist/presets/sandPresets.d.ts +11 -0
  68. package/dist/presets/sandPresets.d.ts.map +1 -0
  69. package/dist/presets/sandPresets.js +294 -0
  70. package/dist/presets/skyPresets.d.ts +27 -0
  71. package/dist/presets/skyPresets.d.ts.map +1 -0
  72. package/dist/presets/skyPresets.js +93 -0
  73. package/dist/presets/woodPresets.d.ts +33 -0
  74. package/dist/presets/woodPresets.d.ts.map +1 -0
  75. package/dist/presets/woodPresets.js +235 -0
  76. package/dist/services/AnimationsManager.d.ts +171 -0
  77. package/dist/services/AnimationsManager.d.ts.map +1 -0
  78. package/dist/services/AnimationsManager.js +508 -0
  79. package/dist/services/CubeCameraManager.d.ts +23 -0
  80. package/dist/services/CubeCameraManager.d.ts.map +1 -0
  81. package/dist/services/CubeCameraManager.js +84 -0
  82. package/dist/services/FontManager.d.ts +32 -0
  83. package/dist/services/FontManager.d.ts.map +1 -0
  84. package/dist/services/FontManager.js +76 -0
  85. package/dist/services/MaterialCompiler.d.ts +30 -0
  86. package/dist/services/MaterialCompiler.d.ts.map +1 -0
  87. package/dist/services/MaterialCompiler.js +91 -0
  88. package/dist/services/MaterialRegistry.d.ts +85 -0
  89. package/dist/services/MaterialRegistry.d.ts.map +1 -0
  90. package/dist/services/MaterialRegistry.js +362 -0
  91. package/dist/services/NoiseGenerator.d.ts +93 -0
  92. package/dist/services/NoiseGenerator.d.ts.map +1 -0
  93. package/dist/services/NoiseGenerator.js +653 -0
  94. package/dist/services/ObjectManager.d.ts +71 -0
  95. package/dist/services/ObjectManager.d.ts.map +1 -0
  96. package/dist/services/ObjectManager.js +386 -0
  97. package/dist/services/PositionsCreator.d.ts +26 -0
  98. package/dist/services/PositionsCreator.d.ts.map +1 -0
  99. package/dist/services/PositionsCreator.js +263 -0
  100. package/dist/services/SceneStore.d.ts +20 -0
  101. package/dist/services/SceneStore.d.ts.map +1 -0
  102. package/dist/services/SceneStore.js +18 -0
  103. package/dist/services/ShadersLibrary.d.ts +79 -0
  104. package/dist/services/ShadersLibrary.d.ts.map +1 -0
  105. package/dist/services/ShadersLibrary.js +820 -0
  106. package/dist/services/SkySystemManager.d.ts +57 -0
  107. package/dist/services/SkySystemManager.d.ts.map +1 -0
  108. package/dist/services/SkySystemManager.js +190 -0
  109. package/dist/services/TextureResolver.d.ts +51 -0
  110. package/dist/services/TextureResolver.d.ts.map +1 -0
  111. package/dist/services/TextureResolver.js +136 -0
  112. package/dist/services/TexturesManager.d.ts +17 -0
  113. package/dist/services/TexturesManager.d.ts.map +1 -0
  114. package/dist/services/TexturesManager.js +48 -0
  115. package/dist/services/UniformConverter.d.ts +33 -0
  116. package/dist/services/UniformConverter.d.ts.map +1 -0
  117. package/dist/services/UniformConverter.js +252 -0
  118. package/dist/services/index.d.ts +19 -0
  119. package/dist/services/index.d.ts.map +1 -0
  120. package/dist/services/index.js +14 -0
  121. package/dist/shaders/BasicSkyMaterial.d.ts +49 -0
  122. package/dist/shaders/BasicSkyMaterial.d.ts.map +1 -0
  123. package/dist/shaders/BasicSkyMaterial.js +94 -0
  124. package/dist/shaders/BasicWaterMaterial.d.ts +41 -0
  125. package/dist/shaders/BasicWaterMaterial.d.ts.map +1 -0
  126. package/dist/shaders/BasicWaterMaterial.js +155 -0
  127. package/dist/shaders/BubblesPointsMaterial.d.ts +52 -0
  128. package/dist/shaders/BubblesPointsMaterial.d.ts.map +1 -0
  129. package/dist/shaders/BubblesPointsMaterial.js +95 -0
  130. package/dist/shaders/CartoonCloudsMaterial.d.ts +36 -0
  131. package/dist/shaders/CartoonCloudsMaterial.d.ts.map +1 -0
  132. package/dist/shaders/CartoonCloudsMaterial.js +59 -0
  133. package/dist/shaders/CartoonCloudsPointsMaterial.d.ts +65 -0
  134. package/dist/shaders/CartoonCloudsPointsMaterial.d.ts.map +1 -0
  135. package/dist/shaders/CartoonCloudsPointsMaterial.js +138 -0
  136. package/dist/shaders/CirrusCloudsMaterial.d.ts +36 -0
  137. package/dist/shaders/CirrusCloudsMaterial.d.ts.map +1 -0
  138. package/dist/shaders/CirrusCloudsMaterial.js +55 -0
  139. package/dist/shaders/CirrusCloudsPointsMaterial.d.ts +69 -0
  140. package/dist/shaders/CirrusCloudsPointsMaterial.d.ts.map +1 -0
  141. package/dist/shaders/CirrusCloudsPointsMaterial.js +140 -0
  142. package/dist/shaders/CloudsMaterial.d.ts +47 -0
  143. package/dist/shaders/CloudsMaterial.d.ts.map +1 -0
  144. package/dist/shaders/CloudsMaterial.js +124 -0
  145. package/dist/shaders/CloudsPointsMaterial.d.ts +82 -0
  146. package/dist/shaders/CloudsPointsMaterial.d.ts.map +1 -0
  147. package/dist/shaders/CloudsPointsMaterial.js +200 -0
  148. package/dist/shaders/CommonNoiseFunctions.d.ts +2 -0
  149. package/dist/shaders/CommonNoiseFunctions.d.ts.map +1 -0
  150. package/dist/shaders/CommonNoiseFunctions.js +41 -0
  151. package/dist/shaders/CoronaMaterial.d.ts +41 -0
  152. package/dist/shaders/CoronaMaterial.d.ts.map +1 -0
  153. package/dist/shaders/CoronaMaterial.js +54 -0
  154. package/dist/shaders/CustomShaderMaterial.d.ts +10 -0
  155. package/dist/shaders/CustomShaderMaterial.d.ts.map +1 -0
  156. package/dist/shaders/CustomShaderMaterial.js +10 -0
  157. package/dist/shaders/EarthAtmosphereMaterial.d.ts +28 -0
  158. package/dist/shaders/EarthAtmosphereMaterial.d.ts.map +1 -0
  159. package/dist/shaders/EarthAtmosphereMaterial.js +55 -0
  160. package/dist/shaders/EarthMaterial.d.ts +40 -0
  161. package/dist/shaders/EarthMaterial.d.ts.map +1 -0
  162. package/dist/shaders/EarthMaterial.js +69 -0
  163. package/dist/shaders/FireMaterial.d.ts +30 -0
  164. package/dist/shaders/FireMaterial.d.ts.map +1 -0
  165. package/dist/shaders/FireMaterial.js +154 -0
  166. package/dist/shaders/FireShellMaterial.d.ts +34 -0
  167. package/dist/shaders/FireShellMaterial.d.ts.map +1 -0
  168. package/dist/shaders/FireShellMaterial.js +137 -0
  169. package/dist/shaders/FlareMaterial.d.ts +79 -0
  170. package/dist/shaders/FlareMaterial.d.ts.map +1 -0
  171. package/dist/shaders/FlareMaterial.js +184 -0
  172. package/dist/shaders/GlowMaterial.d.ts +41 -0
  173. package/dist/shaders/GlowMaterial.d.ts.map +1 -0
  174. package/dist/shaders/GlowMaterial.js +54 -0
  175. package/dist/shaders/GlyphRingMaterial.d.ts +72 -0
  176. package/dist/shaders/GlyphRingMaterial.d.ts.map +1 -0
  177. package/dist/shaders/GlyphRingMaterial.js +152 -0
  178. package/dist/shaders/ImageMaterial.d.ts +294 -0
  179. package/dist/shaders/ImageMaterial.d.ts.map +1 -0
  180. package/dist/shaders/ImageMaterial.js +401 -0
  181. package/dist/shaders/LavaMaterial.d.ts +69 -0
  182. package/dist/shaders/LavaMaterial.d.ts.map +1 -0
  183. package/dist/shaders/LavaMaterial.js +127 -0
  184. package/dist/shaders/LineEffectsMaterials.d.ts +97 -0
  185. package/dist/shaders/LineEffectsMaterials.d.ts.map +1 -0
  186. package/dist/shaders/LineEffectsMaterials.js +242 -0
  187. package/dist/shaders/LineMaterial.d.ts +37 -0
  188. package/dist/shaders/LineMaterial.d.ts.map +1 -0
  189. package/dist/shaders/LineMaterial.js +64 -0
  190. package/dist/shaders/MeshEffectsMaterial.d.ts +278 -0
  191. package/dist/shaders/MeshEffectsMaterial.d.ts.map +1 -0
  192. package/dist/shaders/MeshEffectsMaterial.js +312 -0
  193. package/dist/shaders/MorphingSimulation.d.ts +17 -0
  194. package/dist/shaders/MorphingSimulation.d.ts.map +1 -0
  195. package/dist/shaders/MorphingSimulation.js +66 -0
  196. package/dist/shaders/MyGridMaterial.d.ts +61 -0
  197. package/dist/shaders/MyGridMaterial.d.ts.map +1 -0
  198. package/dist/shaders/MyGridMaterial.js +176 -0
  199. package/dist/shaders/MyParticlesMaterial.d.ts +65 -0
  200. package/dist/shaders/MyParticlesMaterial.d.ts.map +1 -0
  201. package/dist/shaders/MyParticlesMaterial.js +126 -0
  202. package/dist/shaders/NebulaCloudsMaterial.d.ts +44 -0
  203. package/dist/shaders/NebulaCloudsMaterial.d.ts.map +1 -0
  204. package/dist/shaders/NebulaCloudsMaterial.js +63 -0
  205. package/dist/shaders/NebulaPointsMaterial.d.ts +236 -0
  206. package/dist/shaders/NebulaPointsMaterial.d.ts.map +1 -0
  207. package/dist/shaders/NebulaPointsMaterial.js +265 -0
  208. package/dist/shaders/OceanMaterial.d.ts +57 -0
  209. package/dist/shaders/OceanMaterial.d.ts.map +1 -0
  210. package/dist/shaders/OceanMaterial.js +240 -0
  211. package/dist/shaders/PainterlyCloudsMaterial.d.ts +49 -0
  212. package/dist/shaders/PainterlyCloudsMaterial.d.ts.map +1 -0
  213. package/dist/shaders/PainterlyCloudsMaterial.js +68 -0
  214. package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts +69 -0
  215. package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts.map +1 -0
  216. package/dist/shaders/PainterlyCloudsPointsMaterial.js +140 -0
  217. package/dist/shaders/RainMaterial.d.ts +36 -0
  218. package/dist/shaders/RainMaterial.d.ts.map +1 -0
  219. package/dist/shaders/RainMaterial.js +79 -0
  220. package/dist/shaders/ReflectorMaterial.d.ts +62 -0
  221. package/dist/shaders/ReflectorMaterial.d.ts.map +1 -0
  222. package/dist/shaders/ReflectorMaterial.js +167 -0
  223. package/dist/shaders/SandMaterial.d.ts +58 -0
  224. package/dist/shaders/SandMaterial.d.ts.map +1 -0
  225. package/dist/shaders/SandMaterial.js +296 -0
  226. package/dist/shaders/ShaderEffectsMaterial copy.d.ts +280 -0
  227. package/dist/shaders/ShaderEffectsMaterial copy.d.ts.map +1 -0
  228. package/dist/shaders/ShaderEffectsMaterial copy.js +354 -0
  229. package/dist/shaders/ShaderEffectsMaterial.d.ts +5 -0
  230. package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
  231. package/dist/shaders/ShaderEffectsMaterial.js +10 -0
  232. package/dist/shaders/ShootingStarMaterial.d.ts +9 -0
  233. package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
  234. package/dist/shaders/ShootingStarMaterial.js +42 -0
  235. package/dist/shaders/SkyCloudsMaterial.d.ts +76 -0
  236. package/dist/shaders/SkyCloudsMaterial.d.ts.map +1 -0
  237. package/dist/shaders/SkyCloudsMaterial.js +212 -0
  238. package/dist/shaders/SkyMaterial.d.ts +130 -0
  239. package/dist/shaders/SkyMaterial.d.ts.map +1 -0
  240. package/dist/shaders/SkyMaterial.js +237 -0
  241. package/dist/shaders/SkyboxMaterial.d.ts +40 -0
  242. package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
  243. package/dist/shaders/SkyboxMaterial.js +64 -0
  244. package/dist/shaders/SmokeMaterial.d.ts +48 -0
  245. package/dist/shaders/SmokeMaterial.d.ts.map +1 -0
  246. package/dist/shaders/SmokeMaterial.js +159 -0
  247. package/dist/shaders/SmokeRibbonMaterial.d.ts +48 -0
  248. package/dist/shaders/SmokeRibbonMaterial.d.ts.map +1 -0
  249. package/dist/shaders/SmokeRibbonMaterial.js +120 -0
  250. package/dist/shaders/SparklesBurstMaterial.d.ts +65 -0
  251. package/dist/shaders/SparklesBurstMaterial.d.ts.map +1 -0
  252. package/dist/shaders/SparklesBurstMaterial.js +99 -0
  253. package/dist/shaders/StarsMaterial.d.ts +36 -0
  254. package/dist/shaders/StarsMaterial.d.ts.map +1 -0
  255. package/dist/shaders/StarsMaterial.js +74 -0
  256. package/dist/shaders/StormCloudsMaterial.d.ts +44 -0
  257. package/dist/shaders/StormCloudsMaterial.d.ts.map +1 -0
  258. package/dist/shaders/StormCloudsMaterial.js +61 -0
  259. package/dist/shaders/StormCloudsPointsMaterial.d.ts +303 -0
  260. package/dist/shaders/StormCloudsPointsMaterial.d.ts.map +1 -0
  261. package/dist/shaders/StormCloudsPointsMaterial.js +389 -0
  262. package/dist/shaders/SunCoreMaterial.d.ts +69 -0
  263. package/dist/shaders/SunCoreMaterial.d.ts.map +1 -0
  264. package/dist/shaders/SunCoreMaterial.js +127 -0
  265. package/dist/shaders/VolumetricCloudsMaterial.d.ts +56 -0
  266. package/dist/shaders/VolumetricCloudsMaterial.d.ts.map +1 -0
  267. package/dist/shaders/VolumetricCloudsMaterial.js +93 -0
  268. package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts +73 -0
  269. package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts.map +1 -0
  270. package/dist/shaders/VolumetricCloudsPointsMaterial.js +143 -0
  271. package/dist/shaders/WaterMaterial.d.ts +110 -0
  272. package/dist/shaders/WaterMaterial.d.ts.map +1 -0
  273. package/dist/shaders/WaterMaterial.js +228 -0
  274. package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts +2 -0
  275. package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts.map +1 -0
  276. package/dist/shaders/effects/EffectsFragmentFunctions.glsl.js +182 -0
  277. package/dist/shaders/effects/EffectsUniforms.d.ts +230 -0
  278. package/dist/shaders/effects/EffectsUniforms.d.ts.map +1 -0
  279. package/dist/shaders/effects/EffectsUniforms.js +66 -0
  280. package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts +2 -0
  281. package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts.map +1 -0
  282. package/dist/shaders/effects/EffectsVertexFunctions.glsl.js +167 -0
  283. package/dist/shaders/effects/baseFragment.glsl.d.ts +2 -0
  284. package/dist/shaders/effects/baseFragment.glsl.d.ts.map +1 -0
  285. package/dist/shaders/effects/baseFragment.glsl.js +53 -0
  286. package/dist/shaders/effects/baseVertex.glsl.d.ts +2 -0
  287. package/dist/shaders/effects/baseVertex.glsl.d.ts.map +1 -0
  288. package/dist/shaders/effects/baseVertex.glsl.js +60 -0
  289. package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts +17 -0
  290. package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts.map +1 -0
  291. package/dist/shaders/effects/buildShaderEffectsMaterial.js +156 -0
  292. package/dist/shaders/effects/defaults.d.ts +4 -0
  293. package/dist/shaders/effects/defaults.d.ts.map +1 -0
  294. package/dist/shaders/effects/defaults.js +27 -0
  295. package/dist/shaders/effects/index.d.ts +7 -0
  296. package/dist/shaders/effects/index.d.ts.map +1 -0
  297. package/dist/shaders/effects/index.js +6 -0
  298. package/dist/shaders/effects/noiseLib.glsl.d.ts +6 -0
  299. package/dist/shaders/effects/noiseLib.glsl.d.ts.map +1 -0
  300. package/dist/shaders/effects/noiseLib.glsl.js +214 -0
  301. package/dist/shaders/effects/presets.d.ts +20 -0
  302. package/dist/shaders/effects/presets.d.ts.map +1 -0
  303. package/dist/shaders/effects/presets.js +288 -0
  304. package/dist/shaders/effects/registry/brightness.d.ts +3 -0
  305. package/dist/shaders/effects/registry/brightness.d.ts.map +1 -0
  306. package/dist/shaders/effects/registry/brightness.js +16 -0
  307. package/dist/shaders/effects/registry/colorShift.d.ts +3 -0
  308. package/dist/shaders/effects/registry/colorShift.d.ts.map +1 -0
  309. package/dist/shaders/effects/registry/colorShift.js +21 -0
  310. package/dist/shaders/effects/registry/depthFade.d.ts +3 -0
  311. package/dist/shaders/effects/registry/depthFade.d.ts.map +1 -0
  312. package/dist/shaders/effects/registry/depthFade.js +29 -0
  313. package/dist/shaders/effects/registry/displacement.d.ts +3 -0
  314. package/dist/shaders/effects/registry/displacement.d.ts.map +1 -0
  315. package/dist/shaders/effects/registry/displacement.js +17 -0
  316. package/dist/shaders/effects/registry/explode.d.ts +3 -0
  317. package/dist/shaders/effects/registry/explode.d.ts.map +1 -0
  318. package/dist/shaders/effects/registry/explode.js +43 -0
  319. package/dist/shaders/effects/registry/flicker.d.ts +3 -0
  320. package/dist/shaders/effects/registry/flicker.d.ts.map +1 -0
  321. package/dist/shaders/effects/registry/flicker.js +27 -0
  322. package/dist/shaders/effects/registry/glow.d.ts +3 -0
  323. package/dist/shaders/effects/registry/glow.d.ts.map +1 -0
  324. package/dist/shaders/effects/registry/glow.js +21 -0
  325. package/dist/shaders/effects/registry/grayscale.d.ts +3 -0
  326. package/dist/shaders/effects/registry/grayscale.d.ts.map +1 -0
  327. package/dist/shaders/effects/registry/grayscale.js +105 -0
  328. package/dist/shaders/effects/registry/hueShift.d.ts +3 -0
  329. package/dist/shaders/effects/registry/hueShift.d.ts.map +1 -0
  330. package/dist/shaders/effects/registry/hueShift.js +40 -0
  331. package/dist/shaders/effects/registry/index.d.ts +9 -0
  332. package/dist/shaders/effects/registry/index.d.ts.map +1 -0
  333. package/dist/shaders/effects/registry/index.js +70 -0
  334. package/dist/shaders/effects/registry/jitter.d.ts +3 -0
  335. package/dist/shaders/effects/registry/jitter.d.ts.map +1 -0
  336. package/dist/shaders/effects/registry/jitter.js +31 -0
  337. package/dist/shaders/effects/registry/magnet.d.ts +3 -0
  338. package/dist/shaders/effects/registry/magnet.d.ts.map +1 -0
  339. package/dist/shaders/effects/registry/magnet.js +43 -0
  340. package/dist/shaders/effects/registry/noise.d.ts +3 -0
  341. package/dist/shaders/effects/registry/noise.d.ts.map +1 -0
  342. package/dist/shaders/effects/registry/noise.js +61 -0
  343. package/dist/shaders/effects/registry/pulse.d.ts +3 -0
  344. package/dist/shaders/effects/registry/pulse.d.ts.map +1 -0
  345. package/dist/shaders/effects/registry/pulse.js +24 -0
  346. package/dist/shaders/effects/registry/rainbow.d.ts +3 -0
  347. package/dist/shaders/effects/registry/rainbow.d.ts.map +1 -0
  348. package/dist/shaders/effects/registry/rainbow.js +55 -0
  349. package/dist/shaders/effects/registry/ripple.d.ts +3 -0
  350. package/dist/shaders/effects/registry/ripple.d.ts.map +1 -0
  351. package/dist/shaders/effects/registry/ripple.js +39 -0
  352. package/dist/shaders/effects/registry/saturation.d.ts +3 -0
  353. package/dist/shaders/effects/registry/saturation.d.ts.map +1 -0
  354. package/dist/shaders/effects/registry/saturation.js +19 -0
  355. package/dist/shaders/effects/registry/scale.d.ts +3 -0
  356. package/dist/shaders/effects/registry/scale.d.ts.map +1 -0
  357. package/dist/shaders/effects/registry/scale.js +26 -0
  358. package/dist/shaders/effects/registry/sparkle.d.ts +3 -0
  359. package/dist/shaders/effects/registry/sparkle.d.ts.map +1 -0
  360. package/dist/shaders/effects/registry/sparkle.js +34 -0
  361. package/dist/shaders/effects/registry/spiral.d.ts +3 -0
  362. package/dist/shaders/effects/registry/spiral.d.ts.map +1 -0
  363. package/dist/shaders/effects/registry/spiral.js +46 -0
  364. package/dist/shaders/effects/registry/twist.d.ts +3 -0
  365. package/dist/shaders/effects/registry/twist.d.ts.map +1 -0
  366. package/dist/shaders/effects/registry/twist.js +55 -0
  367. package/dist/shaders/effects/registry/vortex.d.ts +3 -0
  368. package/dist/shaders/effects/registry/vortex.d.ts.map +1 -0
  369. package/dist/shaders/effects/registry/vortex.js +35 -0
  370. package/dist/shaders/effects/registry/wave.d.ts +3 -0
  371. package/dist/shaders/effects/registry/wave.d.ts.map +1 -0
  372. package/dist/shaders/effects/registry/wave.js +44 -0
  373. package/dist/shaders/effects/types.d.ts +56 -0
  374. package/dist/shaders/effects/types.d.ts.map +1 -0
  375. package/dist/shaders/effects/types.js +11 -0
  376. package/dist/shaders/index.d.ts +51 -0
  377. package/dist/shaders/index.d.ts.map +1 -0
  378. package/dist/shaders/index.js +50 -0
  379. package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts +41 -0
  380. package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts.map +1 -0
  381. package/dist/shaders/lineShaders/GhostSignalMaterial.js +88 -0
  382. package/dist/shaders/lineShaders/LineShaderMaterials.d.ts +180 -0
  383. package/dist/shaders/lineShaders/LineShaderMaterials.d.ts.map +1 -0
  384. package/dist/shaders/lineShaders/LineShaderMaterials.js +551 -0
  385. package/dist/shaders/lineShaders/ParticleEffects.d.ts +39 -0
  386. package/dist/shaders/lineShaders/ParticleEffects.d.ts.map +1 -0
  387. package/dist/shaders/lineShaders/ParticleEffects.js +451 -0
  388. package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts +37 -0
  389. package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts.map +1 -0
  390. package/dist/shaders/lineShaders/SerpentFlowMaterial.js +91 -0
  391. package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts +37 -0
  392. package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts.map +1 -0
  393. package/dist/shaders/lineShaders/SolarFilamentMaterial.js +104 -0
  394. package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts +37 -0
  395. package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts.map +1 -0
  396. package/dist/shaders/lineShaders/TeslaArcMaterial.js +125 -0
  397. package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts +41 -0
  398. package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts.map +1 -0
  399. package/dist/shaders/lineShaders/VoidRiftMaterial.js +118 -0
  400. package/dist/shaders/lineShaders/index.d.ts +11 -0
  401. package/dist/shaders/lineShaders/index.d.ts.map +1 -0
  402. package/dist/shaders/lineShaders/index.js +7 -0
  403. package/dist/shaders/sunNoise.d.ts +2 -0
  404. package/dist/shaders/sunNoise.d.ts.map +1 -0
  405. package/dist/shaders/sunNoise.js +91 -0
  406. package/dist/three/AnimatedObjectV.d.ts +71 -0
  407. package/dist/three/AnimatedObjectV.d.ts.map +1 -0
  408. package/dist/three/AnimatedObjectV.js +169 -0
  409. package/dist/three/CloudsV.d.ts +24 -0
  410. package/dist/three/CloudsV.d.ts.map +1 -0
  411. package/dist/three/CloudsV.js +132 -0
  412. package/dist/three/EffectsGeneratorV.d.ts +14 -0
  413. package/dist/three/EffectsGeneratorV.d.ts.map +1 -0
  414. package/dist/three/EffectsGeneratorV.js +109 -0
  415. package/dist/three/EnvironmentManagerV.d.ts +35 -0
  416. package/dist/three/EnvironmentManagerV.d.ts.map +1 -0
  417. package/dist/three/EnvironmentManagerV.js +140 -0
  418. package/dist/three/FrameV.d.ts +24 -0
  419. package/dist/three/FrameV.d.ts.map +1 -0
  420. package/dist/three/FrameV.js +43 -0
  421. package/dist/three/GalaxyV.d.ts +21 -0
  422. package/dist/three/GalaxyV.d.ts.map +1 -0
  423. package/dist/three/GalaxyV.js +223 -0
  424. package/dist/three/GalleryLayoutV.d.ts +20 -0
  425. package/dist/three/GalleryLayoutV.d.ts.map +1 -0
  426. package/dist/three/GalleryLayoutV.js +76 -0
  427. package/dist/three/GridHelperV.d.ts +19 -0
  428. package/dist/three/GridHelperV.d.ts.map +1 -0
  429. package/dist/three/GridHelperV.js +28 -0
  430. package/dist/three/ImageGeometryV.d.ts +23 -0
  431. package/dist/three/ImageGeometryV.d.ts.map +1 -0
  432. package/dist/three/ImageGeometryV.js +83 -0
  433. package/dist/three/LensflareV.d.ts +19 -0
  434. package/dist/three/LensflareV.d.ts.map +1 -0
  435. package/dist/three/LensflareV.js +79 -0
  436. package/dist/three/LetterV.d.ts +24 -0
  437. package/dist/three/LetterV.d.ts.map +1 -0
  438. package/dist/three/LetterV.js +90 -0
  439. package/dist/three/LightsManagerV.d.ts +21 -0
  440. package/dist/three/LightsManagerV.d.ts.map +1 -0
  441. package/dist/three/LightsManagerV.js +85 -0
  442. package/dist/three/LinesV.d.ts +22 -0
  443. package/dist/three/LinesV.d.ts.map +1 -0
  444. package/dist/three/LinesV.js +43 -0
  445. package/dist/three/ParticlesV.d.ts +28 -0
  446. package/dist/three/ParticlesV.d.ts.map +1 -0
  447. package/dist/three/ParticlesV.js +88 -0
  448. package/dist/three/PathRendererV.d.ts +29 -0
  449. package/dist/three/PathRendererV.d.ts.map +1 -0
  450. package/dist/three/PathRendererV.js +225 -0
  451. package/dist/three/PathV.d.ts +27 -0
  452. package/dist/three/PathV.d.ts.map +1 -0
  453. package/dist/three/PathV.js +81 -0
  454. package/dist/three/ProjectLoaderV.d.ts +18 -0
  455. package/dist/three/ProjectLoaderV.d.ts.map +1 -0
  456. package/dist/three/ProjectLoaderV.js +49 -0
  457. package/dist/three/RainV.d.ts +21 -0
  458. package/dist/three/RainV.d.ts.map +1 -0
  459. package/dist/three/RainV.js +201 -0
  460. package/dist/three/SceneBuilderV.d.ts +26 -0
  461. package/dist/three/SceneBuilderV.d.ts.map +1 -0
  462. package/dist/three/SceneBuilderV.js +263 -0
  463. package/dist/three/SkyControllerV.d.ts +22 -0
  464. package/dist/three/SkyControllerV.d.ts.map +1 -0
  465. package/dist/three/SkyControllerV.js +114 -0
  466. package/dist/three/SkySystemV.d.ts +40 -0
  467. package/dist/three/SkySystemV.d.ts.map +1 -0
  468. package/dist/three/SkySystemV.js +103 -0
  469. package/dist/three/SkyboxV.d.ts +29 -0
  470. package/dist/three/SkyboxV.d.ts.map +1 -0
  471. package/dist/three/SkyboxV.js +160 -0
  472. package/dist/three/StarsV.d.ts +24 -0
  473. package/dist/three/StarsV.d.ts.map +1 -0
  474. package/dist/three/StarsV.js +179 -0
  475. package/dist/three/SunLightV.d.ts +26 -0
  476. package/dist/three/SunLightV.d.ts.map +1 -0
  477. package/dist/three/SunLightV.js +90 -0
  478. package/dist/three/Text2DV.d.ts +25 -0
  479. package/dist/three/Text2DV.d.ts.map +1 -0
  480. package/dist/three/Text2DV.js +66 -0
  481. package/dist/three/Text3DV.d.ts +22 -0
  482. package/dist/three/Text3DV.d.ts.map +1 -0
  483. package/dist/three/Text3DV.js +43 -0
  484. package/dist/three/effects/AuraEffectV.d.ts +15 -0
  485. package/dist/three/effects/AuraEffectV.d.ts.map +1 -0
  486. package/dist/three/effects/AuraEffectV.js +150 -0
  487. package/dist/three/effects/AuroraEffectV.d.ts +16 -0
  488. package/dist/three/effects/AuroraEffectV.d.ts.map +1 -0
  489. package/dist/three/effects/AuroraEffectV.js +129 -0
  490. package/dist/three/effects/BlackHoleEffectV.d.ts +15 -0
  491. package/dist/three/effects/BlackHoleEffectV.d.ts.map +1 -0
  492. package/dist/three/effects/BlackHoleEffectV.js +219 -0
  493. package/dist/three/effects/ConstellationEffectV.d.ts +17 -0
  494. package/dist/three/effects/ConstellationEffectV.d.ts.map +1 -0
  495. package/dist/three/effects/ConstellationEffectV.js +207 -0
  496. package/dist/three/effects/DataStreamEffectV.d.ts +15 -0
  497. package/dist/three/effects/DataStreamEffectV.d.ts.map +1 -0
  498. package/dist/three/effects/DataStreamEffectV.js +151 -0
  499. package/dist/three/effects/DnaHelixEffectV.d.ts +24 -0
  500. package/dist/three/effects/DnaHelixEffectV.d.ts.map +1 -0
  501. package/dist/three/effects/DnaHelixEffectV.js +343 -0
  502. package/dist/three/effects/FireEffectV.d.ts +17 -0
  503. package/dist/three/effects/FireEffectV.d.ts.map +1 -0
  504. package/dist/three/effects/FireEffectV.js +219 -0
  505. package/dist/three/effects/ForcefieldEffectV.d.ts +17 -0
  506. package/dist/three/effects/ForcefieldEffectV.d.ts.map +1 -0
  507. package/dist/three/effects/ForcefieldEffectV.js +150 -0
  508. package/dist/three/effects/HologramEffectV.d.ts +15 -0
  509. package/dist/three/effects/HologramEffectV.d.ts.map +1 -0
  510. package/dist/three/effects/HologramEffectV.js +154 -0
  511. package/dist/three/effects/IceCrystalsEffectV.d.ts +21 -0
  512. package/dist/three/effects/IceCrystalsEffectV.d.ts.map +1 -0
  513. package/dist/three/effects/IceCrystalsEffectV.js +214 -0
  514. package/dist/three/effects/LightningEffectV.d.ts +27 -0
  515. package/dist/three/effects/LightningEffectV.d.ts.map +1 -0
  516. package/dist/three/effects/LightningEffectV.js +255 -0
  517. package/dist/three/effects/MoleculesEffectV.d.ts +23 -0
  518. package/dist/three/effects/MoleculesEffectV.d.ts.map +1 -0
  519. package/dist/three/effects/MoleculesEffectV.js +204 -0
  520. package/dist/three/effects/NeuralNetworkEffectV.d.ts +23 -0
  521. package/dist/three/effects/NeuralNetworkEffectV.d.ts.map +1 -0
  522. package/dist/three/effects/NeuralNetworkEffectV.js +211 -0
  523. package/dist/three/effects/OrbEffectV.d.ts +17 -0
  524. package/dist/three/effects/OrbEffectV.d.ts.map +1 -0
  525. package/dist/three/effects/OrbEffectV.js +307 -0
  526. package/dist/three/effects/PortalEffectV.d.ts +15 -0
  527. package/dist/three/effects/PortalEffectV.d.ts.map +1 -0
  528. package/dist/three/effects/PortalEffectV.js +213 -0
  529. package/dist/three/effects/ShockwaveEffectV.d.ts +19 -0
  530. package/dist/three/effects/ShockwaveEffectV.d.ts.map +1 -0
  531. package/dist/three/effects/ShockwaveEffectV.js +195 -0
  532. package/dist/three/effects/SmokePlumeEffectV.d.ts +15 -0
  533. package/dist/three/effects/SmokePlumeEffectV.d.ts.map +1 -0
  534. package/dist/three/effects/SmokePlumeEffectV.js +152 -0
  535. package/dist/three/effects/SmokeRingEffectV.d.ts +16 -0
  536. package/dist/three/effects/SmokeRingEffectV.d.ts.map +1 -0
  537. package/dist/three/effects/SmokeRingEffectV.js +174 -0
  538. package/dist/three/effects/VolumetricFogEffectV.d.ts +15 -0
  539. package/dist/three/effects/VolumetricFogEffectV.d.ts.map +1 -0
  540. package/dist/three/effects/VolumetricFogEffectV.js +127 -0
  541. package/dist/types/actions.d.ts +30 -0
  542. package/dist/types/actions.d.ts.map +1 -0
  543. package/dist/types/actions.js +5 -0
  544. package/dist/types/animations.d.ts +109 -0
  545. package/dist/types/animations.d.ts.map +1 -0
  546. package/dist/types/animations.js +5 -0
  547. package/dist/types/common.d.ts +20 -0
  548. package/dist/types/common.d.ts.map +1 -0
  549. package/dist/types/common.js +1 -0
  550. package/dist/types/cursor.d.ts +142 -0
  551. package/dist/types/cursor.d.ts.map +1 -0
  552. package/dist/types/cursor.js +1 -0
  553. package/dist/types/effects.d.ts +100 -0
  554. package/dist/types/effects.d.ts.map +1 -0
  555. package/dist/types/effects.js +1 -0
  556. package/dist/types/environment.d.ts +265 -0
  557. package/dist/types/environment.d.ts.map +1 -0
  558. package/dist/types/environment.js +10 -0
  559. package/dist/types/gallery.d.ts +74 -0
  560. package/dist/types/gallery.d.ts.map +1 -0
  561. package/dist/types/gallery.js +1 -0
  562. package/dist/types/generativeEffects.d.ts +316 -0
  563. package/dist/types/generativeEffects.d.ts.map +1 -0
  564. package/dist/types/generativeEffects.js +5 -0
  565. package/dist/types/handlerSettings.d.ts +48 -0
  566. package/dist/types/handlerSettings.d.ts.map +1 -0
  567. package/dist/types/handlerSettings.js +1 -0
  568. package/dist/types/index.d.ts +24 -0
  569. package/dist/types/index.d.ts.map +1 -0
  570. package/dist/types/index.js +1 -0
  571. package/dist/types/lights.d.ts +79 -0
  572. package/dist/types/lights.d.ts.map +1 -0
  573. package/dist/types/lights.js +1 -0
  574. package/dist/types/materials.d.ts +194 -0
  575. package/dist/types/materials.d.ts.map +1 -0
  576. package/dist/types/materials.js +1 -0
  577. package/dist/types/mesh.d.ts +200 -0
  578. package/dist/types/mesh.d.ts.map +1 -0
  579. package/dist/types/mesh.js +1 -0
  580. package/dist/types/objectSettings.d.ts +144 -0
  581. package/dist/types/objectSettings.d.ts.map +1 -0
  582. package/dist/types/objectSettings.js +25 -0
  583. package/dist/types/objectsConfigs.d.ts +47 -0
  584. package/dist/types/objectsConfigs.d.ts.map +1 -0
  585. package/dist/types/objectsConfigs.js +1 -0
  586. package/dist/types/particles.d.ts +156 -0
  587. package/dist/types/particles.d.ts.map +1 -0
  588. package/dist/types/particles.js +1 -0
  589. package/dist/types/postprocessing.d.ts +141 -0
  590. package/dist/types/postprocessing.d.ts.map +1 -0
  591. package/dist/types/postprocessing.js +1 -0
  592. package/dist/types/scene3d.d.ts +501 -0
  593. package/dist/types/scene3d.d.ts.map +1 -0
  594. package/dist/types/scene3d.js +3 -0
  595. package/dist/types/shaderEffects.d.ts +61 -0
  596. package/dist/types/shaderEffects.d.ts.map +1 -0
  597. package/dist/types/shaderEffects.js +1 -0
  598. package/dist/types/text.d.ts +74 -0
  599. package/dist/types/text.d.ts.map +1 -0
  600. package/dist/types/text.js +1 -0
  601. package/dist/types/types.d.ts +81 -0
  602. package/dist/types/types.d.ts.map +1 -0
  603. package/dist/types/types.js +1 -0
  604. package/dist/types/uiController.d.ts +42 -0
  605. package/dist/types/uiController.d.ts.map +1 -0
  606. package/dist/types/uiController.js +1 -0
  607. package/dist/types/users.d.ts +334 -0
  608. package/dist/types/users.d.ts.map +1 -0
  609. package/dist/types/users.js +34 -0
  610. package/dist/utils/GalleryCreator.d.ts +80 -0
  611. package/dist/utils/GalleryCreator.d.ts.map +1 -0
  612. package/dist/utils/GalleryCreator.js +465 -0
  613. package/dist/utils/GalleryLayouts.d.ts +10 -0
  614. package/dist/utils/GalleryLayouts.d.ts.map +1 -0
  615. package/dist/utils/GalleryLayouts.js +43 -0
  616. package/dist/utils/MaterialCompiler.d.ts +30 -0
  617. package/dist/utils/MaterialCompiler.d.ts.map +1 -0
  618. package/dist/utils/MaterialCompiler.js +91 -0
  619. package/dist/utils/animationsUtils.d.ts +69 -0
  620. package/dist/utils/animationsUtils.d.ts.map +1 -0
  621. package/dist/utils/animationsUtils.js +151 -0
  622. package/dist/utils/createdObjectHandlers.d.ts +32 -0
  623. package/dist/utils/createdObjectHandlers.d.ts.map +1 -0
  624. package/dist/utils/createdObjectHandlers.js +35 -0
  625. package/dist/utils/dataUtils.d.ts +36 -0
  626. package/dist/utils/dataUtils.d.ts.map +1 -0
  627. package/dist/utils/dataUtils.js +471 -0
  628. package/dist/utils/easingUtils.d.ts +5 -0
  629. package/dist/utils/easingUtils.d.ts.map +1 -0
  630. package/dist/utils/easingUtils.js +86 -0
  631. package/dist/utils/edgeUtils.d.ts +37 -0
  632. package/dist/utils/edgeUtils.d.ts.map +1 -0
  633. package/dist/utils/edgeUtils.js +128 -0
  634. package/dist/utils/environmentUtils.d.ts +19 -0
  635. package/dist/utils/environmentUtils.d.ts.map +1 -0
  636. package/dist/utils/environmentUtils.js +144 -0
  637. package/dist/utils/frameAnimations.d.ts +116 -0
  638. package/dist/utils/frameAnimations.d.ts.map +1 -0
  639. package/dist/utils/frameAnimations.js +449 -0
  640. package/dist/utils/galleriesUtils.d.ts +10 -0
  641. package/dist/utils/galleriesUtils.d.ts.map +1 -0
  642. package/dist/utils/galleriesUtils.js +162 -0
  643. package/dist/utils/getAnimatableProperties.d.ts +30 -0
  644. package/dist/utils/getAnimatableProperties.d.ts.map +1 -0
  645. package/dist/utils/getAnimatableProperties.js +170 -0
  646. package/dist/utils/gridUtils.d.ts +8 -0
  647. package/dist/utils/gridUtils.d.ts.map +1 -0
  648. package/dist/utils/gridUtils.js +26 -0
  649. package/dist/utils/handleEdgesAnimations.d.ts +20 -0
  650. package/dist/utils/handleEdgesAnimations.d.ts.map +1 -0
  651. package/dist/utils/handleEdgesAnimations.js +125 -0
  652. package/dist/utils/handleEdgesMouseMove.d.ts +12 -0
  653. package/dist/utils/handleEdgesMouseMove.d.ts.map +1 -0
  654. package/dist/utils/handleEdgesMouseMove.js +38 -0
  655. package/dist/utils/handleGenerativeEffectsAnimations.d.ts +15 -0
  656. package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
  657. package/dist/utils/handleGenerativeEffectsAnimations.js +218 -0
  658. package/dist/utils/handleLightAnimations.d.ts +18 -0
  659. package/dist/utils/handleLightAnimations.d.ts.map +1 -0
  660. package/dist/utils/handleLightAnimations.js +123 -0
  661. package/dist/utils/handleLightMouseMove.d.ts +13 -0
  662. package/dist/utils/handleLightMouseMove.d.ts.map +1 -0
  663. package/dist/utils/handleLightMouseMove.js +51 -0
  664. package/dist/utils/handleMaterialEffects.d.ts +32 -0
  665. package/dist/utils/handleMaterialEffects.d.ts.map +1 -0
  666. package/dist/utils/handleMaterialEffects.js +130 -0
  667. package/dist/utils/handleMaterialMouseMove.d.ts +11 -0
  668. package/dist/utils/handleMaterialMouseMove.d.ts.map +1 -0
  669. package/dist/utils/handleMaterialMouseMove.js +20 -0
  670. package/dist/utils/handleTransformEffects.d.ts +31 -0
  671. package/dist/utils/handleTransformEffects.d.ts.map +1 -0
  672. package/dist/utils/handleTransformEffects.js +140 -0
  673. package/dist/utils/handleTransformMouseMove.d.ts +13 -0
  674. package/dist/utils/handleTransformMouseMove.d.ts.map +1 -0
  675. package/dist/utils/handleTransformMouseMove.js +49 -0
  676. package/dist/utils/idUtils.d.ts +4 -0
  677. package/dist/utils/idUtils.d.ts.map +1 -0
  678. package/dist/utils/idUtils.js +10 -0
  679. package/dist/utils/index.d.ts +34 -0
  680. package/dist/utils/index.d.ts.map +1 -0
  681. package/dist/utils/index.js +33 -0
  682. package/dist/utils/loadingManager.d.ts +29 -0
  683. package/dist/utils/loadingManager.d.ts.map +1 -0
  684. package/dist/utils/loadingManager.js +103 -0
  685. package/dist/utils/materialApplicationUtils.d.ts +72 -0
  686. package/dist/utils/materialApplicationUtils.d.ts.map +1 -0
  687. package/dist/utils/materialApplicationUtils.js +169 -0
  688. package/dist/utils/materialUtils.d.ts +79 -0
  689. package/dist/utils/materialUtils.d.ts.map +1 -0
  690. package/dist/utils/materialUtils.js +267 -0
  691. package/dist/utils/meshUtils.d.ts +10 -0
  692. package/dist/utils/meshUtils.d.ts.map +1 -0
  693. package/dist/utils/meshUtils.js +473 -0
  694. package/dist/utils/mouseMoveUtils.d.ts +15 -0
  695. package/dist/utils/mouseMoveUtils.d.ts.map +1 -0
  696. package/dist/utils/mouseMoveUtils.js +52 -0
  697. package/dist/utils/objectTreeUtils.d.ts +39 -0
  698. package/dist/utils/objectTreeUtils.d.ts.map +1 -0
  699. package/dist/utils/objectTreeUtils.js +115 -0
  700. package/dist/utils/optionalProperties.d.ts +36 -0
  701. package/dist/utils/optionalProperties.d.ts.map +1 -0
  702. package/dist/utils/optionalProperties.js +487 -0
  703. package/dist/utils/particleAnimations.d.ts +3 -0
  704. package/dist/utils/particleAnimations.d.ts.map +1 -0
  705. package/dist/utils/particleAnimations.js +17 -0
  706. package/dist/utils/pathUtils.d.ts +19 -0
  707. package/dist/utils/pathUtils.d.ts.map +1 -0
  708. package/dist/utils/pathUtils.js +73 -0
  709. package/dist/utils/positionsCreatorUtils.d.ts +97 -0
  710. package/dist/utils/positionsCreatorUtils.d.ts.map +1 -0
  711. package/dist/utils/positionsCreatorUtils.js +644 -0
  712. package/dist/utils/sceneQuery.d.ts +9 -0
  713. package/dist/utils/sceneQuery.d.ts.map +1 -0
  714. package/dist/utils/sceneQuery.js +22 -0
  715. package/dist/utils/shootingStarHelpers.d.ts +13 -0
  716. package/dist/utils/shootingStarHelpers.d.ts.map +1 -0
  717. package/dist/utils/shootingStarHelpers.js +44 -0
  718. package/dist/utils/sunUtils.d.ts +6 -0
  719. package/dist/utils/sunUtils.d.ts.map +1 -0
  720. package/dist/utils/sunUtils.js +9 -0
  721. package/dist/utils/utils.d.ts +21 -0
  722. package/dist/utils/utils.d.ts.map +1 -0
  723. package/dist/utils/utils.js +158 -0
  724. package/package.json +43 -0
@@ -0,0 +1,170 @@
1
+ // =============================================================================
2
+ // getAnimatableProperties — canonical per-domain property discovery
3
+ // =============================================================================
4
+ //
5
+ // Single source of truth for "what properties can the animations / mouseMove
6
+ // system target on a given domain?". Both *PropsSection (keyframe animations UI)
7
+ // and *MouseMoveSection (mouse-move UI) read from here, so the two systems
8
+ // never drift.
9
+ //
10
+ // Accepts any AnimatableTarget — CreatedObjectSettings, CloudsSettings, and
11
+ // future env components (Sky/Ocean/...) all satisfy the structural interface.
12
+ //
13
+ // Domain rules:
14
+ // - transform: hardcoded ['position', 'rotation', 'scale']
15
+ // - material : keys of settings.materialSettings minus an excluded list
16
+ // - edges : geometry props by edgesSettings.type + filtered material keys
17
+ // - light : per-light-type allowlist driven by settings.config.type
18
+ // - clouds : ['speed'] when settings.config.type === 'clouds'
19
+ //
20
+ // =============================================================================
21
+ // CONSTANTS
22
+ // =============================================================================
23
+ const TRANSFORM_PROPS = [
24
+ { value: 'position', label: 'Position' },
25
+ { value: 'rotation', label: 'Rotation' },
26
+ { value: 'scale', label: 'Scale' },
27
+ ];
28
+ const EXCLUDED_MATERIAL_KEYS = new Set([
29
+ 'materialType', 'materialVariant', 'side',
30
+ 'u_time', 'u_mouse',
31
+ 'apply', 'visible', 'map', 'uHasTexture',
32
+ ]);
33
+ const LIGHT_COMMON = [
34
+ { value: 'intensity', label: 'Intensity' },
35
+ { value: 'color', label: 'Color' },
36
+ ];
37
+ const LIGHT_POINT_EXTRA = [
38
+ { value: 'distance', label: 'Distance' },
39
+ { value: 'decay', label: 'Decay' },
40
+ ];
41
+ const LIGHT_SPOT_EXTRA = [
42
+ ...LIGHT_POINT_EXTRA,
43
+ { value: 'angle', label: 'Angle' },
44
+ { value: 'penumbra', label: 'Penumbra' },
45
+ ];
46
+ const CLOUDS_PROPS = [
47
+ { value: 'speed', label: 'Speed' },
48
+ ];
49
+ const RAIN_PROPS = [
50
+ { value: 'color', label: 'Color' },
51
+ { value: 'size', label: 'Size' },
52
+ { value: 'opacity', label: 'Opacity' },
53
+ { value: 'speed', label: 'Speed' },
54
+ { value: 'windStrength', label: 'Wind Strength' },
55
+ { value: 'windDirection', label: 'Wind Direction' },
56
+ { value: 'turbulence', label: 'Turbulence' },
57
+ ];
58
+ // =============================================================================
59
+ // HELPERS
60
+ // =============================================================================
61
+ /** camelCase / kebab-ish → "Title Case". */
62
+ export function toAnimatableLabel(key) {
63
+ return key
64
+ .replace(/([A-Z])/g, ' $1')
65
+ .replace(/^./, s => s.toUpperCase())
66
+ .trim();
67
+ }
68
+ function getMaterialProperties(materialSettings) {
69
+ if (!materialSettings)
70
+ return [];
71
+ return Object.keys(materialSettings)
72
+ .filter(k => !EXCLUDED_MATERIAL_KEYS.has(k))
73
+ .map(k => ({ value: k, label: k }));
74
+ }
75
+ function getEdgesProperties(edgesSettings) {
76
+ if (!edgesSettings)
77
+ return [];
78
+ const props = [];
79
+ if (edgesSettings.type === 'tube')
80
+ props.push({ value: 'tubeRadius', label: 'Tube Radius' });
81
+ if (edgesSettings.type === 'cube')
82
+ props.push({ value: 'cubeSize', label: 'Cube Size' });
83
+ if (edgesSettings.materialSettings) {
84
+ for (const k of Object.keys(edgesSettings.materialSettings)) {
85
+ if (EXCLUDED_MATERIAL_KEYS.has(k))
86
+ continue;
87
+ props.push({ value: k, label: toAnimatableLabel(k) });
88
+ }
89
+ }
90
+ return props;
91
+ }
92
+ function getLightProperties(config) {
93
+ switch (config?.type) {
94
+ case 'point':
95
+ return [...LIGHT_COMMON, ...LIGHT_POINT_EXTRA];
96
+ case 'spot':
97
+ return [...LIGHT_COMMON, ...LIGHT_SPOT_EXTRA];
98
+ case 'ambient':
99
+ case 'directional':
100
+ default:
101
+ return [...LIGHT_COMMON];
102
+ }
103
+ }
104
+ function getCloudsProperties() {
105
+ return [...CLOUDS_PROPS];
106
+ }
107
+ function getRainProperties() {
108
+ return [...RAIN_PROPS];
109
+ }
110
+ function isLightConfig(config) {
111
+ const t = config?.type;
112
+ return t === 'ambient' || t === 'directional' || t === 'point' || t === 'spot';
113
+ }
114
+ function isCloudsConfig(config) {
115
+ return config?.type === 'clouds';
116
+ }
117
+ function isRainConfig(config) {
118
+ return config?.type === 'rain';
119
+ }
120
+ // =============================================================================
121
+ // MAIN
122
+ // =============================================================================
123
+ export function getAnimatableProperties(settings, domain) {
124
+ switch (domain) {
125
+ case 'transform':
126
+ return [...TRANSFORM_PROPS];
127
+ case 'material':
128
+ return getMaterialProperties(settings.materialSettings);
129
+ case 'edges':
130
+ return getEdgesProperties(settings.edgesSettings);
131
+ case 'light':
132
+ return isLightConfig(settings.config) ? getLightProperties(settings.config) : [];
133
+ case 'clouds':
134
+ return isCloudsConfig(settings.config) ? getCloudsProperties() : [];
135
+ case 'rain':
136
+ return isRainConfig(settings.config) ? getRainProperties() : [];
137
+ default:
138
+ return [];
139
+ }
140
+ }
141
+ /**
142
+ * Detect which domain a property name belongs to, for a given target. Used by
143
+ * the runtime + UI to migrate flat MouseMove arrays into the new per-domain
144
+ * shape, and to route the runtime's combined dispatch.
145
+ */
146
+ export function detectAnimatableDomain(settings, propertyName) {
147
+ const head = propertyName.split('.')[0];
148
+ if (head === 'position' || head === 'rotation' || head === 'scale') {
149
+ return 'transform';
150
+ }
151
+ const edges = getEdgesProperties(settings.edgesSettings).map(p => p.value);
152
+ if (edges.includes(propertyName))
153
+ return 'edges';
154
+ if (isLightConfig(settings.config)) {
155
+ if (getLightProperties(settings.config).some(p => p.value === propertyName))
156
+ return 'light';
157
+ }
158
+ if (isCloudsConfig(settings.config)) {
159
+ if (getCloudsProperties().some(p => p.value === propertyName))
160
+ return 'clouds';
161
+ }
162
+ if (isRainConfig(settings.config)) {
163
+ if (getRainProperties().some(p => p.value === propertyName))
164
+ return 'rain';
165
+ }
166
+ const material = getMaterialProperties(settings.materialSettings).map(p => p.value);
167
+ if (material.includes(propertyName))
168
+ return 'material';
169
+ return null;
170
+ }
@@ -0,0 +1,8 @@
1
+ export declare const gridUtils: {
2
+ snapToGrid: (position: any, cellSize: any) => any[];
3
+ worldToGrid: (worldPos: any, cellSize: any) => any[];
4
+ gridToWorld: (gridPos: any, cellSize: any) => any[];
5
+ isOnGridIntersection: (position: any, cellSize: any, tolerance?: number) => boolean;
6
+ isOnSectionLine: (position: any, cellSize: any, sectionSize: any, tolerance?: number) => boolean;
7
+ };
8
+ //# sourceMappingURL=gridUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gridUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;CAyBrB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export const gridUtils = {
2
+ snapToGrid: (position, cellSize) => [
3
+ Math.round(position[0] / cellSize) * cellSize,
4
+ position[1],
5
+ Math.round(position[2] / cellSize) * cellSize,
6
+ ],
7
+ worldToGrid: (worldPos, cellSize) => [
8
+ Math.round(worldPos[0] / cellSize),
9
+ worldPos[1],
10
+ Math.round(worldPos[2] / cellSize),
11
+ ],
12
+ gridToWorld: (gridPos, cellSize) => [
13
+ gridPos[0] * cellSize,
14
+ gridPos[1],
15
+ gridPos[2] * cellSize,
16
+ ],
17
+ isOnGridIntersection: (position, cellSize, tolerance = 0.1) => {
18
+ const s = gridUtils.snapToGrid(position, cellSize);
19
+ return Math.sqrt((position[0] - s[0]) ** 2 + (position[2] - s[2]) ** 2) <= tolerance;
20
+ },
21
+ isOnSectionLine: (position, cellSize, sectionSize, tolerance = 0.1) => {
22
+ const sectionCells = sectionSize / cellSize;
23
+ const g = gridUtils.worldToGrid(position, cellSize);
24
+ return (g[0] % sectionCells < tolerance) || (g[2] % sectionCells < tolerance);
25
+ },
26
+ };
@@ -0,0 +1,20 @@
1
+ import { Object3D } from "three";
2
+ import { AnimationOptions } from "../types";
3
+ export interface EdgesAnimationContext {
4
+ /** Main scene object � edges group is searched among its direct children */
5
+ object: Object3D;
6
+ /** Cache for start values so we only resolve them once per animation */
7
+ startValuesCache: Record<string, any>;
8
+ }
9
+ export declare const DEBUG_EDGES_ANIMATIONS = false;
10
+ /**
11
+ * Process all active edge animations for an object.
12
+ * Finds the edges group on the object and animates material properties on it.
13
+ *
14
+ * @param ctx - Animation context (main object + start-value cache)
15
+ * @param animations - Array of AnimationOptions from animations.edges.animations
16
+ * @param currentTime - Current timestamp (Date.now())
17
+ * @param hovered - Whether the object is currently hovered
18
+ */
19
+ export declare function handleEdgesAnimations(ctx: EdgesAnimationContext, animations: AnimationOptions[], currentTime: number, hovered: boolean): void;
20
+ //# sourceMappingURL=handleEdgesAnimations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleEdgesAnimations.d.ts","sourceRoot":"","sources":["../../src/utils/handleEdgesAnimations.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,MAAM,WAAW,qBAAqB;IAClC,4EAA4E;IAC5E,MAAM,EAAE,QAAQ,CAAC;IACjB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC;AAMD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AA+E5C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB7I"}
@@ -0,0 +1,125 @@
1
+ // =============================================================================
2
+ // HANDLE EDGES ANIMATIONS � Edges Material Animations Handler
3
+ // =============================================================================
4
+ //
5
+ // Pure functions for handling keyframe animations that target the edges group
6
+ // of an object (edge material color, opacity, and other material properties).
7
+ //
8
+ // Property paths use the `materialSettings.` prefix to mirror the UI:
9
+ // e.g. "materialSettings.color", "materialSettings.opacity"
10
+ // Geometric properties (tubeRadius, cubeSize) require a geometry rebuild and
11
+ // are intentionally skipped for per-frame animation.
12
+ //
13
+ import { applyEasing, gsapEasingMap } from './animationsUtils.js';
14
+ import { calculateTimeProgress, getMaterialPropertyValue, interpolateValue, applyMaterialPropertyToObject, } from './materialUtils.js';
15
+ import { EDGES_GROUP_KEY } from './materialApplicationUtils.js';
16
+ // =============================================================================
17
+ // DEBUG
18
+ // =============================================================================
19
+ export const DEBUG_EDGES_ANIMATIONS = false;
20
+ const log = (message, ...args) => {
21
+ if (DEBUG_EDGES_ANIMATIONS) {
22
+ console.log(`[EdgesAnimations] ${message}`, ...args);
23
+ }
24
+ };
25
+ // =============================================================================
26
+ // HELPERS
27
+ // =============================================================================
28
+ /**
29
+ * Strip the "materialSettings." prefix that the UI uses for clarity.
30
+ * Returns the bare Three.js material property name, or null for non-material
31
+ * properties that cannot be animated per-frame (tubeRadius, cubeSize).
32
+ */
33
+ function resolveMaterialKey(property) {
34
+ if (property.startsWith('materialSettings.')) {
35
+ return property.slice('materialSettings.'.length);
36
+ }
37
+ // Geometric properties require geometry rebuild � skip
38
+ if (property === 'tubeRadius' || property === 'cubeSize') {
39
+ return null;
40
+ }
41
+ // Bare property name (fallback)
42
+ return property;
43
+ }
44
+ /**
45
+ * Find the edges group attached to the main object.
46
+ */
47
+ function findEdgesGroup(object) {
48
+ for (const child of object.children) {
49
+ if (child.userData[EDGES_GROUP_KEY]) {
50
+ return child;
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ /**
56
+ * Resolve start value for an animation.
57
+ * Priority: animation.from ? startValuesCache ? current edges material value
58
+ */
59
+ function getStartValue(ctx, matKey, animation) {
60
+ const cacheKey = `edges.${matKey}`;
61
+ if (animation.from !== undefined)
62
+ return animation.from;
63
+ if (cacheKey in ctx.startValuesCache)
64
+ return ctx.startValuesCache[cacheKey];
65
+ const edgesGroup = findEdgesGroup(ctx.object);
66
+ if (!edgesGroup)
67
+ return null;
68
+ const value = getMaterialPropertyValue(edgesGroup, matKey);
69
+ ctx.startValuesCache[cacheKey] = value;
70
+ return value;
71
+ }
72
+ // =============================================================================
73
+ // SINGLE PROPERTY ANIMATION
74
+ // =============================================================================
75
+ function animateEdgesProperty(ctx, edgesGroup, matKey, animation, currentTime, hovered) {
76
+ const { to, duration, ease, loop = false, yoyo = false, active, triggerMode = 'always' } = animation;
77
+ if (!active || to === undefined)
78
+ return;
79
+ if (triggerMode === 'hover' && !hovered)
80
+ return;
81
+ const from = getStartValue(ctx, matKey, animation);
82
+ if (from === null || from === undefined) {
83
+ log('skipping � no start value', { matKey });
84
+ return;
85
+ }
86
+ let timeProgress = calculateTimeProgress(currentTime, duration, yoyo, loop);
87
+ if (ease) {
88
+ const fn = gsapEasingMap[ease] || ease;
89
+ timeProgress = applyEasing(fn, timeProgress);
90
+ }
91
+ const interpolated = interpolateValue(matKey, from, to, timeProgress);
92
+ applyMaterialPropertyToObject(edgesGroup, matKey, interpolated);
93
+ log('animated edges property', { matKey, from, to, interpolated, progress: timeProgress });
94
+ }
95
+ // =============================================================================
96
+ // MAIN HANDLER
97
+ // =============================================================================
98
+ /**
99
+ * Process all active edge animations for an object.
100
+ * Finds the edges group on the object and animates material properties on it.
101
+ *
102
+ * @param ctx - Animation context (main object + start-value cache)
103
+ * @param animations - Array of AnimationOptions from animations.edges.animations
104
+ * @param currentTime - Current timestamp (Date.now())
105
+ * @param hovered - Whether the object is currently hovered
106
+ */
107
+ export function handleEdgesAnimations(ctx, animations, currentTime, hovered) {
108
+ if (animations.length === 0)
109
+ return;
110
+ const edgesGroup = findEdgesGroup(ctx.object);
111
+ if (!edgesGroup) {
112
+ log('no edges group found on object');
113
+ return;
114
+ }
115
+ for (const animation of animations) {
116
+ if (!animation.active)
117
+ continue;
118
+ const matKey = resolveMaterialKey(animation.property);
119
+ if (!matKey) {
120
+ log('skipping non-animatable edges property', { property: animation.property });
121
+ continue;
122
+ }
123
+ animateEdgesProperty(ctx, edgesGroup, matKey, animation, currentTime, hovered);
124
+ }
125
+ }
@@ -0,0 +1,12 @@
1
+ import { Object3D } from "three";
2
+ import type { MouseMoveProperty } from "../types/objectSettings";
3
+ export interface EdgesMouseMoveContext {
4
+ object: Object3D;
5
+ /** Optional pre-resolved edges materialSettings used for base-value lookup. */
6
+ edgesMaterialSettings?: Record<string, any>;
7
+ }
8
+ export declare function handleEdgesMouseMove(ctx: EdgesMouseMoveContext, properties: MouseMoveProperty[], pointer: {
9
+ x: number;
10
+ y: number;
11
+ }): void;
12
+ //# sourceMappingURL=handleEdgesMouseMove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleEdgesMouseMove.d.ts","sourceRoot":"","sources":["../../src/utils/handleEdgesMouseMove.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,QAAQ,CAAC;IACjB,+EAA+E;IAC/E,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/C;AAUD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE;IAC/F,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAkBf"}
@@ -0,0 +1,38 @@
1
+ // =============================================================================
2
+ // HANDLE EDGES MOUSE MOVE — pointer-driven edges material property updates
3
+ // =============================================================================
4
+ //
5
+ // Sibling of handleEdgesAnimations. Finds the edges group attached to the
6
+ // object and applies pointer-interpolated values to its material. Geometric
7
+ // properties (tubeRadius, cubeSize) require a geometry rebuild and are
8
+ // intentionally skipped for per-frame application.
9
+ //
10
+ import { applyMaterialPropertyToObject } from './materialUtils.js';
11
+ import { EDGES_GROUP_KEY } from './materialApplicationUtils.js';
12
+ import { interpolateMouseMoveProperty } from './mouseMoveUtils.js';
13
+ function findEdgesGroup(object) {
14
+ for (const child of object.children) {
15
+ if (child.userData?.[EDGES_GROUP_KEY])
16
+ return child;
17
+ }
18
+ return null;
19
+ }
20
+ export function handleEdgesMouseMove(ctx, properties, pointer) {
21
+ if (!properties.length)
22
+ return;
23
+ const edgesGroup = findEdgesGroup(ctx.object);
24
+ if (!edgesGroup)
25
+ return;
26
+ for (const { property, enabled, propertySettings } of properties) {
27
+ if (!property || !enabled)
28
+ continue;
29
+ if (property === 'tubeRadius' || property === 'cubeSize')
30
+ continue;
31
+ const { axis = 'both', sensitivity = 1, inverted = false, min, max } = propertySettings || {};
32
+ const baseValue = ctx.edgesMaterialSettings?.[property];
33
+ if (baseValue === undefined)
34
+ continue;
35
+ const next = interpolateMouseMoveProperty(baseValue, min, max, pointer, axis, sensitivity, inverted);
36
+ applyMaterialPropertyToObject(edgesGroup, property, next);
37
+ }
38
+ }
@@ -0,0 +1,15 @@
1
+ import * as THREE from 'three';
2
+ import { AnimationOptions } from '../types';
3
+ export declare const DEBUG_GENERATIVE_EFFECTS = false;
4
+ /**
5
+ * Animate config properties of a generative effect by directly mutating
6
+ * its ShaderMaterial uniforms — no React re-renders, runs at 60fps.
7
+ *
8
+ * @param materials - All ShaderMaterial instances belonging to this effect.
9
+ * @param animations - Keyframe animations from GenerativeEffectSettings.animations.
10
+ * @param startValuesCache - Ref-backed cache to hold initial values (reset externally when config changes).
11
+ * @param currentTime - Milliseconds since epoch (Date.now()), consistent with other handlers.
12
+ * @param hovered - Whether the parent object is currently hovered.
13
+ */
14
+ export declare function applyGenerativeAnimations(materials: THREE.ShaderMaterial[], animations: AnimationOptions[] | undefined, startValuesCache: Record<string, any>, currentTime: number, hovered: boolean): void;
15
+ //# sourceMappingURL=handleGenerativeEffectsAnimations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGenerativeEffectsAnimations.d.ts","sourceRoot":"","sources":["../../src/utils/handleGenerativeEffectsAnimations.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAM5C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAgH9C;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAqE3M"}
@@ -0,0 +1,218 @@
1
+ // =============================================================================
2
+ // HANDLE GENERATIVE EFFECTS ANIMATIONS — per-effect utility
3
+ // =============================================================================
4
+ //
5
+ // Called from inside each generative effect component's own useFrame loop.
6
+ // Each effect component holds direct refs to its ShaderMaterials and passes
7
+ // them here, avoiding fragile scene-graph traversal.
8
+ //
9
+ // Usage (inside an effect component's useFrame):
10
+ //
11
+ // useFrame((state) => {
12
+ // const t = state.clock.getElapsedTime();
13
+ // mat.uniforms.u_time.value = t;
14
+ //
15
+ // if (animations?.length) {
16
+ // applyGenerativeAnimations([mat], animations, startValuesCacheRef.current, Date.now(), hovered ?? false);
17
+ // }
18
+ // });
19
+ //
20
+ import * as THREE from 'three';
21
+ import { MathUtils } from 'three';
22
+ import { calculateTimeProgress } from './materialUtils.js';
23
+ import { applyEasing, gsapEasingMap } from './animationsUtils.js';
24
+ // =============================================================================
25
+ // DEBUG
26
+ // =============================================================================
27
+ export const DEBUG_GENERATIVE_EFFECTS = false;
28
+ const log = (message, ...args) => {
29
+ if (DEBUG_GENERATIVE_EFFECTS) {
30
+ console.log(`[GenerativeEffectsAnimations] ${message}`, ...args);
31
+ }
32
+ };
33
+ // Always-on log: prints once per unique key, not every frame
34
+ const _loggedOnce = new Set();
35
+ const logOnce = (key, message, ...args) => {
36
+ if (_loggedOnce.has(key))
37
+ return;
38
+ _loggedOnce.add(key);
39
+ console.log(`[GenerativeEffectsAnimations] ${message}`, ...args);
40
+ };
41
+ const warnOnce = (key, message, ...args) => {
42
+ if (_loggedOnce.has(key))
43
+ return;
44
+ _loggedOnce.add(key);
45
+ console.warn(`[GenerativeEffectsAnimations] ${message}`, ...args);
46
+ };
47
+ // =============================================================================
48
+ // HELPERS
49
+ // =============================================================================
50
+ /**
51
+ * Returns candidate uniform names for a given config property name.
52
+ * Handles both conventions found across effect shaders:
53
+ * intensity → uIntensity (camelCase prefix)
54
+ * speed → u_speed (underscore prefix, used in several shaders)
55
+ */
56
+ function candidateUniformNames(property) {
57
+ const capitalized = property.charAt(0).toUpperCase() + property.slice(1);
58
+ return [`u${capitalized}`, `u_${property}`];
59
+ }
60
+ /**
61
+ * Find which uniform name actually exists on the provided materials.
62
+ */
63
+ function findUniformName(materials, property) {
64
+ const candidates = candidateUniformNames(property);
65
+ for (const candidate of candidates) {
66
+ for (const mat of materials) {
67
+ if (mat.uniforms[candidate] !== undefined) {
68
+ return candidate;
69
+ }
70
+ }
71
+ }
72
+ return null;
73
+ }
74
+ /**
75
+ * Read the current value of a uniform across materials (returns the first match).
76
+ * For Color / Vector3 uniforms, returns a hex string so it can be used as a start value.
77
+ */
78
+ function readUniformValue(materials, uniformName) {
79
+ for (const mat of materials) {
80
+ const u = mat.uniforms[uniformName];
81
+ if (u !== undefined) {
82
+ if (u.value instanceof THREE.Color) {
83
+ return '#' + u.value.getHexString();
84
+ }
85
+ // Vector3 color uniforms (e.g. uColor stored as vec3 r/g/b)
86
+ if (u.value instanceof THREE.Vector3) {
87
+ _colorFrom.setRGB(u.value.x, u.value.y, u.value.z);
88
+ return '#' + _colorFrom.getHexString();
89
+ }
90
+ return u.value;
91
+ }
92
+ }
93
+ return undefined;
94
+ }
95
+ // Reusable Color instances — avoid per-frame allocation
96
+ const _colorFrom = new THREE.Color();
97
+ const _colorTo = new THREE.Color();
98
+ /**
99
+ * Write an animated numeric value to all materials that carry the uniform.
100
+ */
101
+ function applyNumericToMaterials(materials, uniformName, value) {
102
+ for (const mat of materials) {
103
+ const u = mat.uniforms[uniformName];
104
+ if (u !== undefined) {
105
+ u.value = value;
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Write a linearly interpolated color to all materials that carry the uniform.
111
+ * Handles both THREE.Color values and Vector3-style uniforms.
112
+ */
113
+ function applyColorToMaterials(materials, uniformName, from, to, t) {
114
+ _colorFrom.set(from);
115
+ _colorTo.set(to);
116
+ const r = MathUtils.lerp(_colorFrom.r, _colorTo.r, t);
117
+ const g = MathUtils.lerp(_colorFrom.g, _colorTo.g, t);
118
+ const b = MathUtils.lerp(_colorFrom.b, _colorTo.b, t);
119
+ for (const mat of materials) {
120
+ const u = mat.uniforms[uniformName];
121
+ if (u !== undefined) {
122
+ const val = u.value;
123
+ if (val instanceof THREE.Color) {
124
+ val.setRGB(r, g, b);
125
+ }
126
+ else if (val && typeof val === 'object' && 'x' in val) {
127
+ // THREE.Vector3 uniform
128
+ val.set(r, g, b);
129
+ }
130
+ }
131
+ }
132
+ }
133
+ function isColorValue(value) {
134
+ return typeof value === 'string' && (value.startsWith('#') || value.startsWith('rgb'));
135
+ }
136
+ // =============================================================================
137
+ // MAIN EXPORT
138
+ // =============================================================================
139
+ /**
140
+ * Animate config properties of a generative effect by directly mutating
141
+ * its ShaderMaterial uniforms — no React re-renders, runs at 60fps.
142
+ *
143
+ * @param materials - All ShaderMaterial instances belonging to this effect.
144
+ * @param animations - Keyframe animations from GenerativeEffectSettings.animations.
145
+ * @param startValuesCache - Ref-backed cache to hold initial values (reset externally when config changes).
146
+ * @param currentTime - Milliseconds since epoch (Date.now()), consistent with other handlers.
147
+ * @param hovered - Whether the parent object is currently hovered.
148
+ */
149
+ export function applyGenerativeAnimations(materials, animations, startValuesCache, currentTime, hovered) {
150
+ if (!animations || animations.length === 0)
151
+ return;
152
+ if (materials.length === 0)
153
+ return;
154
+ logOnce('called', `Processing ${animations.length} animation(s) across ${materials.length} material(s)`);
155
+ for (const animation of animations) {
156
+ try {
157
+ const { property, to, duration, ease, loop = false, yoyo = false, active, triggerMode = 'always', } = animation;
158
+ // active===undefined means not explicitly disabled — treat as active
159
+ if (active === false) {
160
+ log(`Skipping "${property}": active=false`);
161
+ continue;
162
+ }
163
+ if (triggerMode === 'hover' && !hovered) {
164
+ log(`Skipping "${property}": triggerMode=hover but not hovered`);
165
+ continue;
166
+ }
167
+ if (to === undefined) {
168
+ warnOnce(`no-to-${property}`, `Skipping "${property}": no 'to' value defined`);
169
+ continue;
170
+ }
171
+ // Find the uniform that corresponds to this property
172
+ const uniformName = findUniformName(materials, property);
173
+ if (!uniformName) {
174
+ warnOnce(`no-uniform-${property}`, `No uniform found for property "${property}" (tried: ${candidateUniformNames(property).join(', ')}) — available uniforms on mat[0]: ${Object.keys(materials[0]?.uniforms ?? {}).join(', ')}`);
175
+ continue;
176
+ }
177
+ // Initialize start value from the current uniform value (once per animation lifetime)
178
+ if (!(property in startValuesCache)) {
179
+ const currentVal = readUniformValue(materials, uniformName);
180
+ startValuesCache[property] = animation.from !== undefined ? animation.from : currentVal;
181
+ log('cached start value', { property, uniformName, startValue: startValuesCache[property] });
182
+ }
183
+ const from = startValuesCache[property];
184
+ if (from === undefined || from === null)
185
+ continue;
186
+ // Calculate progress
187
+ let timeProgress = calculateTimeProgress(currentTime, duration, yoyo, loop);
188
+ if (ease) {
189
+ const easingFunctionName = gsapEasingMap[ease] || ease;
190
+ timeProgress = applyEasing(easingFunctionName, timeProgress);
191
+ }
192
+ // Apply — guard against type mismatches between 'from' and the actual uniform
193
+ if (isColorValue(from)) {
194
+ if (typeof to !== 'string') {
195
+ warnOnce(`bad-to-${property}`, `Color property "${property}" has non-string 'to' value:`, to);
196
+ continue;
197
+ }
198
+ applyColorToMaterials(materials, uniformName, from, to, timeProgress);
199
+ }
200
+ else if (typeof from === 'number') {
201
+ if (typeof to !== 'number') {
202
+ warnOnce(`bad-to-num-${property}`, `Numeric property "${property}" has non-numeric 'to' value:`, to);
203
+ continue;
204
+ }
205
+ const interpolated = MathUtils.lerp(from, to, timeProgress);
206
+ applyNumericToMaterials(materials, uniformName, interpolated);
207
+ }
208
+ else {
209
+ warnOnce(`bad-from-${property}`, `Unhandled 'from' type for property "${property}":`, typeof from, from);
210
+ continue;
211
+ }
212
+ log('animated', { property, uniformName, from, to, timeProgress });
213
+ }
214
+ catch (err) {
215
+ console.error(`[GenerativeEffectsAnimations] Error animating property "${animation.property}":`, err);
216
+ }
217
+ }
218
+ }