@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 @@
1
+ {"version":3,"file":"useLightMouseMove.d.ts","sourceRoot":"","sources":["../../src/hooks/useLightMouseMove.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACnC,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAGD,eAAO,MAAM,iBAAiB,GAAI,UAAU,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,QAAQ,eAAe,GAAG,SAAS,EAAE,UAAS,wBAA6B,KAAG,IAclJ,CAAC;AACF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,27 @@
1
+ // =============================================================================
2
+ // useLightMouseMove — drives pointer-based property updates on a THREE.Light
3
+ // =============================================================================
4
+ //
5
+ // Sibling of useLightAnimation. Lights live in their own component tree
6
+ // (LightObject's R3F primitives), so they don't pass through the main
7
+ // useMouseMove inside useObjectAnimation. This hook closes that gap for the
8
+ // 'light' domain of MouseMoveInteractions on a createdObject of type 'light'.
9
+ //
10
+ import { useFrame } from '@react-three/fiber';
11
+ import { handleLightMouseMove } from '@3driseai/3drise-core';
12
+ export const useLightMouseMove = (lightRef, domain, options = {}) => {
13
+ const { enabled = true, lightConfig } = options;
14
+ useFrame((state) => {
15
+ if (!enabled)
16
+ return;
17
+ const light = lightRef.current;
18
+ if (!light)
19
+ return;
20
+ if (!domain?.enabled)
21
+ return;
22
+ if (!domain.properties?.length)
23
+ return;
24
+ handleLightMouseMove({ light, lightConfig }, domain.properties, state.pointer);
25
+ });
26
+ };
27
+ export default useLightMouseMove;
@@ -0,0 +1,6 @@
1
+ import type { RefObject } from 'react';
2
+ import type { DirectionalLight, PointLight, SpotLight } from "three";
3
+ type ShadowLight = DirectionalLight | SpotLight | PointLight;
4
+ export declare const useLightShadow: (lightRef: RefObject<ShadowLight | null>, shadow: Record<string, any> | undefined, enabledFallback?: boolean) => void;
5
+ export {};
6
+ //# sourceMappingURL=useLightShadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLightShadow.d.ts","sourceRoot":"","sources":["../../src/hooks/useLightShadow.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrE,KAAK,WAAW,GAAG,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAG7D,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAAE,kBAAiB,OAAc,KAAG,IA6ClJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ // =============================================================================
2
+ // useLightShadow — applies shadow settings to a Three.js light
3
+ // =============================================================================
4
+ //
5
+ // Imperative shadow-property application for DirectionalLight / SpotLight /
6
+ // PointLight. Mirrors the pattern used for the sun in LightsManager.
7
+ //
8
+ // Handles the mapSize change quirk: when mapSize changes after the shadow map
9
+ // texture is created, the existing texture must be disposed and `light.shadow.map`
10
+ // set to null so the renderer recreates it at the new resolution.
11
+ //
12
+ // All known fields across the three shadow-camera kinds are applied if defined
13
+ // on the passed shadow object. Fields irrelevant to the actual light type
14
+ // (e.g. cameraLeft on a SpotLight's perspective camera) are simply ignored by
15
+ // Three.js, so it's safe to apply them defensively.
16
+ //
17
+ import { useEffect } from 'react';
18
+ export const useLightShadow = (lightRef, shadow, enabledFallback = true) => {
19
+ useEffect(() => {
20
+ const light = lightRef.current;
21
+ if (!light)
22
+ return;
23
+ light.castShadow = shadow?.enabled ?? enabledFallback;
24
+ if (!shadow)
25
+ return;
26
+ if (shadow.mapSize !== undefined) {
27
+ const previous = light.shadow.mapSize.x;
28
+ light.shadow.mapSize.set(shadow.mapSize, shadow.mapSize);
29
+ if (previous !== shadow.mapSize && light.shadow.map) {
30
+ light.shadow.map.dispose();
31
+ light.shadow.map = null;
32
+ }
33
+ }
34
+ if (shadow.bias !== undefined)
35
+ light.shadow.bias = shadow.bias;
36
+ if (shadow.normalBias !== undefined)
37
+ light.shadow.normalBias = shadow.normalBias;
38
+ if (shadow.radius !== undefined)
39
+ light.shadow.radius = shadow.radius;
40
+ if (shadow.intensity !== undefined)
41
+ light.shadow.intensity = shadow.intensity;
42
+ const cam = light.shadow.camera;
43
+ if (shadow.cameraNear !== undefined)
44
+ cam.near = shadow.cameraNear;
45
+ if (shadow.cameraFar !== undefined)
46
+ cam.far = shadow.cameraFar;
47
+ // DirectionalLight uses an OrthographicCamera (ortho frustum bounds)
48
+ if (shadow.cameraLeft !== undefined)
49
+ cam.left = shadow.cameraLeft;
50
+ if (shadow.cameraRight !== undefined)
51
+ cam.right = shadow.cameraRight;
52
+ if (shadow.cameraTop !== undefined)
53
+ cam.top = shadow.cameraTop;
54
+ if (shadow.cameraBottom !== undefined)
55
+ cam.bottom = shadow.cameraBottom;
56
+ // SpotLight uses a PerspectiveCamera (fov + focus)
57
+ if (shadow.cameraFov !== undefined)
58
+ cam.fov = shadow.cameraFov;
59
+ if (shadow.focus !== undefined)
60
+ light.shadow.focus = shadow.focus;
61
+ cam.updateProjectionMatrix();
62
+ }, [lightRef, shadow]);
63
+ };
@@ -0,0 +1,4 @@
1
+ import type { MaterialSettings } from '@3driseai/3drise-core';
2
+ import { Object3D } from "three";
3
+ export declare const useMaterialApplication: (obj: Object3D | null | undefined, materialSettings: MaterialSettings, shouldApply3driseMaterial?: boolean, onApplied?: () => void) => void;
4
+ //# sourceMappingURL=useMaterialApplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaterialApplication.d.ts","sourceRoot":"","sources":["../../src/hooks/useMaterialApplication.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC,eAAO,MAAM,sBAAsB,GAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,kBAAkB,gBAAgB,EAAE,4BAA4B,OAAO,EAAE,YAAY,MAAM,IAAI,KAAG,IAiJ1K,CAAC"}
@@ -0,0 +1,157 @@
1
+ // =============================================================================
2
+ // useMaterialApplication — React Hook for Material Application
3
+ // =============================================================================
4
+ //
5
+ // Watches materialSettings changes and imperatively applies materials to a
6
+ // Three.js object. Uses shared utilities from materialApplicationUtils.
7
+ //
8
+ import { useEffect, useRef } from 'react';
9
+ import { createAndApplyMaterial, MATERIAL_INSTANCE_KEY, MaterialRegistryAPI, ObjectManager, resolveTextures, traverseSkippingEdgesAndEffects } from '@3driseai/3drise-core';
10
+ // TEST: 0=raw defaults, 1=+DoubleSide, 2=+transparent, 3=+metalness/roughness
11
+ const TEST_MATERIAL_MODE = 1;
12
+ export const useMaterialApplication = (obj, materialSettings, shouldApply3driseMaterial, onApplied) => {
13
+ // Track all material instances we've created so we can release them on change/unmount
14
+ // const { getTypeByName } = useObjectTypes();
15
+ const activeInstancesRef = useRef([]);
16
+ const getOriginObject = (obj) => {
17
+ let found = null;
18
+ traverseSkippingEdgesAndEffects(obj, true, (child) => {
19
+ if (child.userData?.id) {
20
+ found = child;
21
+ return false; // Stop traversal
22
+ }
23
+ });
24
+ return found;
25
+ };
26
+ useEffect(() => {
27
+ if (!obj || !materialSettings || materialSettings.materialType === 'advanced' ||
28
+ materialSettings.materialVariant === '3dRiseShader' || (shouldApply3driseMaterial === false))
29
+ return;
30
+ handleSettingsChange(obj, materialSettings);
31
+ return () => {
32
+ releaseActiveInstances();
33
+ };
34
+ }, [materialSettings, obj]);
35
+ // Unmount-only cleanup: dispose everything once the mesh leaves the scene.
36
+ useEffect(() => {
37
+ return () => {
38
+ releaseActiveInstances();
39
+ };
40
+ }, []);
41
+ /**
42
+ * Release all material instances we've created.
43
+ */
44
+ const releaseActiveInstances = () => {
45
+ for (const instance of activeInstancesRef.current) {
46
+ try {
47
+ MaterialRegistryAPI.releaseMaterial(instance);
48
+ }
49
+ catch (e) {
50
+ // Silently ignore release errors during cleanup
51
+ }
52
+ }
53
+ activeInstancesRef.current = [];
54
+ };
55
+ const handleSettingsChange = async (obj, materialSettings) => {
56
+ // console.log('Applying material with settings:', { obj, materialSettings });
57
+ if (!obj || !materialSettings || materialSettings.materialType === 'advanced')
58
+ return;
59
+ // console.log('Applying material with settings:',obj.name, obj);
60
+ // const originObject: Object3D | null = getOriginObject(obj);
61
+ const applyMaterial = materialSettings.apply !== undefined ? materialSettings.apply : true;
62
+ // console.log({applyMaterial});
63
+ // If apply is false, restore original materials
64
+ if (!applyMaterial) {
65
+ const objectId = obj.userData?.id;
66
+ // console.log({objectId})
67
+ if (objectId) {
68
+ releaseActiveInstances();
69
+ ObjectManager.restoreOriginalMaterials(objectId);
70
+ // console.log(`Restored original materials for object ID ${objectId}`);
71
+ }
72
+ onApplied?.();
73
+ return;
74
+ }
75
+ const materialType = MaterialRegistryAPI.getTypeDefinition(materialSettings.materialType);
76
+ // console.log('Material type definition:', materialType);
77
+ if (!materialType) {
78
+ console.error(`Material type "${materialSettings.materialType}" not found in registry.`);
79
+ return;
80
+ }
81
+ const firstVariant = Object.keys(materialType.variants)[0];
82
+ const variant = materialSettings.materialVariant || firstVariant;
83
+ // 1. Resolve textures using shared utility (registry-driven TextureResolver)
84
+ const resolvedSettings = await resolveTextures(variant, materialSettings);
85
+ // 2. Traverse the object tree and apply material to any child with .material.
86
+ const objectids = materialSettings.objectIds || [];
87
+ // console.log(originObject)
88
+ // console.log({ objectids });
89
+ if (obj) {
90
+ if (objectids.length > 0) {
91
+ let meshes = [];
92
+ // console.log('Applying material to specific object IDs:', objectids);
93
+ obj.traverse((child) => {
94
+ if (child && child.name && objectids.includes(child.name)) {
95
+ meshes.push(child);
96
+ }
97
+ });
98
+ meshes.forEach(mesh => mesh.traverse((child) => {
99
+ if (child && child.material) {
100
+ // console.log('Applying material to child:', child.name);
101
+ applyMaterialToChild(child, variant, resolvedSettings);
102
+ }
103
+ }));
104
+ return;
105
+ }
106
+ traverseSkippingEdgesAndEffects(obj, true, (child) => {
107
+ // console.log('Traversing child:', child.name, child);
108
+ if (child && child.material) {
109
+ // console.log('Applying material to child:');
110
+ applyMaterialToChild(child, variant, resolvedSettings);
111
+ }
112
+ });
113
+ }
114
+ // traverseSkippingEdges(originObject!, true, (child: any) => {
115
+ // if (child && child.material) {
116
+ // applyMaterialToChild(child, variant, resolvedSettings);
117
+ // }
118
+ // });
119
+ onApplied?.();
120
+ };
121
+ /**
122
+ * Create a fresh material instance and apply resolved settings to a single child object.
123
+ * Uses shared createAndApplyMaterial utility.
124
+ */
125
+ const applyMaterialToChild = (object, variant, resolvedSettings) => {
126
+ try {
127
+ // if (TEST_MATERIAL_MODE === 0) {
128
+ // object.material = new MeshStandardMaterial();
129
+ // return;
130
+ // }
131
+ // else if (TEST_MATERIAL_MODE === 1) {
132
+ // object.material = new MeshStandardMaterial({ side: FrontSide });
133
+ // return;
134
+ // }
135
+ // else if (TEST_MATERIAL_MODE === 2) {
136
+ // object.material = new MeshStandardMaterial({ side: DoubleSide, transparent: true });
137
+ // return;
138
+ // }
139
+ // else if (TEST_MATERIAL_MODE === 3) {
140
+ // object.material = new MeshStandardMaterial({ side: DoubleSide, transparent: true, metalness: 0.5, roughness: 0.5 });
141
+ // return;
142
+ // }
143
+ // console.log(`Applying material to object ${object.name} with variant "${variant}" and settings:`, resolvedSettings);
144
+ const materialInstance = createAndApplyMaterial(variant, resolvedSettings);
145
+ // materialInstance.material.side = FrontSide; // Default to FrontSide; specific variants can override to DoubleSide in their defaultSettings
146
+ // Assign to the object
147
+ object.material = materialInstance.material;
148
+ // Track the instance for cleanup
149
+ activeInstancesRef.current.push(materialInstance);
150
+ // Also store on userData for external access if needed
151
+ object.userData[MATERIAL_INSTANCE_KEY] = materialInstance;
152
+ }
153
+ catch (error) {
154
+ console.error(`Failed to apply material "${variant}" to object:`, error);
155
+ }
156
+ };
157
+ };
@@ -0,0 +1,14 @@
1
+ import { MaterialRegistryAPI } from '@3driseai/3drise-core';
2
+ import type { CreatedObjectType, DisplayMode, MaterialSettings, SelectOptions } from '@3driseai/3drise-core';
3
+ type RegistryMaterialType = Exclude<Parameters<typeof MaterialRegistryAPI.getVariants>[0], undefined>;
4
+ export interface UseMaterialOptionsReturn {
5
+ selectedType: RegistryMaterialType;
6
+ selectedVariant: string;
7
+ materialTypeOptions: SelectOptions;
8
+ variantOptions: SelectOptions;
9
+ handleTypeChange: (type: RegistryMaterialType) => void;
10
+ handleVariantChange: (variant: string) => void;
11
+ }
12
+ export declare const useMaterialOptions: (initialSettings: MaterialSettings, onSettingsChange?: (newSettings: MaterialSettings) => void, objectType?: CreatedObjectType, displayMode?: DisplayMode) => UseMaterialOptionsReturn;
13
+ export {};
14
+ //# sourceMappingURL=useMaterialOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaterialOptions.d.ts","sourceRoot":"","sources":["../../src/hooks/useMaterialOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7G,KAAK,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEtG,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,oBAAoB,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,aAAa,CAAC;IACnC,cAAc,EAAE,aAAa,CAAC;IAC9B,gBAAgB,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,eAAO,MAAM,kBAAkB,GAAI,iBAAiB,gBAAgB,EAAE,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,EAAE,aAAY,iBAA0B,EAAE,cAAa,WAAqB,KAAG,wBAkH9M,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { MaterialRegistryAPI } from '@3driseai/3drise-core';
3
+ import { FrontSide } from 'three';
4
+ export const useMaterialOptions = (initialSettings, onSettingsChange, objectType = 'mesh', displayMode = 'solid') => {
5
+ // Ensure we always have a valid material type
6
+ const validType = (initialSettings.materialType || 'basic');
7
+ const [selectedType, setSelectedType] = useState(validType);
8
+ const availableVariantsForInit = MaterialRegistryAPI.getVariants(validType);
9
+ const initialVariant = initialSettings.materialVariant || availableVariantsForInit[0] || '';
10
+ const [selectedVariant, setSelectedVariant] = useState(initialVariant);
11
+ // Sync internal state when the external settings change (e.g. Redux-driven
12
+ // updates or edge-type resets). Without this, the dropdowns stay stale after
13
+ // any external materialType / materialVariant change.
14
+ useEffect(() => {
15
+ // console.log('useMaterialOptions - syncing with new initialSettings:', initialSettings);
16
+ const newType = initialSettings.materialType || 'basic';
17
+ setSelectedType(newType);
18
+ const variants = MaterialRegistryAPI.getVariants(newType);
19
+ setSelectedVariant(initialSettings.materialVariant || variants[0] || '');
20
+ }, [initialSettings.materialType, initialSettings.materialVariant]);
21
+ const allmaterialTypes = MaterialRegistryAPI.getTypes();
22
+ const is3dRiseShaderMaterial = initialSettings.materialType === 'particles' || initialSettings.materialType === 'custom';
23
+ const isLineMaterial = initialSettings.materialType === 'line';
24
+ const meshMaterialTypes = allmaterialTypes.filter(type => type !== 'particles' && type !== 'custom' && type !== 'line');
25
+ const lineMaterialTypes = allmaterialTypes.filter(type => type === 'line');
26
+ const dRiseShaderMaterialTypes = allmaterialTypes.filter(type => type === 'particles' || type === 'custom');
27
+ const materialTypeOptions = () => {
28
+ if (objectType === 'mesh') {
29
+ return allmaterialTypes.map((type) => ({
30
+ value: type,
31
+ label: type.charAt(0).toUpperCase() + type.slice(1)
32
+ }));
33
+ }
34
+ if (is3dRiseShaderMaterial) {
35
+ return dRiseShaderMaterialTypes.map((type) => ({
36
+ value: type,
37
+ label: type.charAt(0).toUpperCase() + type.slice(1)
38
+ }));
39
+ }
40
+ if (isLineMaterial) {
41
+ return lineMaterialTypes.map((type) => ({
42
+ value: type,
43
+ label: type.charAt(0).toUpperCase() + type.slice(1)
44
+ }));
45
+ }
46
+ return meshMaterialTypes.map((type) => ({
47
+ value: type,
48
+ label: type.charAt(0).toUpperCase() + type.slice(1)
49
+ }));
50
+ };
51
+ // is3dRiseShaderMaterial ?
52
+ // dRiseShaderMaterialTypes.map((type: string) => ({
53
+ // value: type,
54
+ // label: type.charAt(0).toUpperCase() + type.slice(1)
55
+ // })) :
56
+ // meshMaterialTypes.map((type: string) => ({
57
+ // value: type,
58
+ // label: type.charAt(0).toUpperCase() + type.slice(1)
59
+ // }));
60
+ // Variant options for current type - with safety check
61
+ const availableVariants = selectedType ? MaterialRegistryAPI.getVariants(selectedType) : [];
62
+ const variantOptions = availableVariants.map(variant => ({
63
+ value: variant,
64
+ label: variant
65
+ }));
66
+ const handleTypeChange = (type) => {
67
+ // console.log('Material type changed to:', type);
68
+ setSelectedType(type);
69
+ const availableVariants = MaterialRegistryAPI.getVariants(type);
70
+ const defaultVariant = availableVariants[0];
71
+ // console.log({defaultVariant})
72
+ setSelectedVariant(defaultVariant);
73
+ // Auto-select first variant when type changes
74
+ if (defaultVariant) {
75
+ handleMaterialUpdate(type, defaultVariant);
76
+ }
77
+ };
78
+ const handleVariantChange = (variant) => {
79
+ console.log('Material variant changed to:', variant);
80
+ setSelectedVariant(variant);
81
+ handleMaterialUpdate(selectedType, variant);
82
+ };
83
+ const handleMaterialUpdate = (type, variant) => {
84
+ if (!onSettingsChange)
85
+ return;
86
+ try {
87
+ const variantDefinition = MaterialRegistryAPI.getVariantDefinition(variant);
88
+ if (!variantDefinition) {
89
+ console.warn(`Variant definition for "${variant}" not found.`);
90
+ return;
91
+ }
92
+ // Start fresh from the new variant's defaults — this ensures
93
+ // texture properties from the previous variant are cleared (reset to null).
94
+ const variantDefaults = variantDefinition.defaultSettings || {};
95
+ const newSettings = {
96
+ apply: true,
97
+ materialType: type,
98
+ materialVariant: variant,
99
+ // Preserve handlers from previous settings if they exist
100
+ // ...(initialSettings.handlers ? { handlers: initialSettings.handlers } : {}),
101
+ ...variantDefaults,
102
+ side: variantDefaults.side || FrontSide, // Keep a copy of defaults for future resets
103
+ };
104
+ onSettingsChange(newSettings);
105
+ }
106
+ catch (error) {
107
+ console.error('Error updating material:', error);
108
+ }
109
+ };
110
+ return {
111
+ selectedType,
112
+ selectedVariant,
113
+ materialTypeOptions: materialTypeOptions(),
114
+ variantOptions,
115
+ handleTypeChange,
116
+ handleVariantChange
117
+ };
118
+ };
@@ -0,0 +1,18 @@
1
+ import type { Material, Object3D } from "three";
2
+ /**
3
+ * Hook for direct material manipulation on a scene object ref.
4
+ *
5
+ * Usage pattern (like SkyControllerUi):
6
+ * - On slider drag → updateProperty(key, value) — instant visual feedback, no Redux
7
+ * - On slider end → updateProperty(key, value) + dispatch to Redux
8
+ * - On color change → updateColor(key, hex) + dispatch to Redux
9
+ * - On variant change → changeMaterial(variant, settings) + dispatch to Redux
10
+ */
11
+ export declare function useMaterialUniforms(object: Object3D | null | undefined): {
12
+ getMaterial: () => Material | null;
13
+ updateProperty: (key: string, value: any) => void;
14
+ updateColor: (key: string, hexValue: string) => void;
15
+ applyAllSettings: (settings: Record<string, any>) => void;
16
+ changeMaterial: (variant: string, settings: Record<string, any>) => void;
17
+ };
18
+ //# sourceMappingURL=useMaterialUniforms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaterialUniforms.d.ts","sourceRoot":"","sources":["../../src/hooks/useMaterialUniforms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG;IAClE,WAAW,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAC5E,CAoFJ"}
@@ -0,0 +1,96 @@
1
+ import { useCallback } from 'react';
2
+ import { applySingleProperty, applyColorProperty, createAndApplyMaterial, MATERIAL_INSTANCE_KEY, traverseSkippingEdgesAndEffects, MaterialRegistryAPI } from '@3driseai/3drise-core';
3
+ /**
4
+ * Hook for direct material manipulation on a scene object ref.
5
+ *
6
+ * Usage pattern (like SkyControllerUi):
7
+ * - On slider drag → updateProperty(key, value) — instant visual feedback, no Redux
8
+ * - On slider end → updateProperty(key, value) + dispatch to Redux
9
+ * - On color change → updateColor(key, hex) + dispatch to Redux
10
+ * - On variant change → changeMaterial(variant, settings) + dispatch to Redux
11
+ */
12
+ export function useMaterialUniforms(object) {
13
+ /**
14
+ * Get the material from the first non-edges child mesh that has one.
15
+ */
16
+ const getMaterial = useCallback(() => {
17
+ if (!object)
18
+ return null;
19
+ if (object.material)
20
+ return object.material;
21
+ let found = null;
22
+ traverseSkippingEdgesAndEffects(object, true, (child) => {
23
+ if (!found && child.material) {
24
+ found = child.material;
25
+ }
26
+ });
27
+ return found;
28
+ }, [object]);
29
+ /**
30
+ * Update a single numeric property on the material (instant feedback).
31
+ * Does NOT persist to Redux — caller should do that on slider end.
32
+ */
33
+ const updateProperty = useCallback((key, value) => {
34
+ if (!object)
35
+ return;
36
+ traverseSkippingEdgesAndEffects(object, true, (child) => {
37
+ if (child.material) {
38
+ applySingleProperty(child.material, key, value);
39
+ }
40
+ });
41
+ }, [object]);
42
+ /**
43
+ * Update a color property on the material (instant feedback).
44
+ */
45
+ const updateColor = useCallback((key, hexValue) => {
46
+ if (!object)
47
+ return;
48
+ traverseSkippingEdgesAndEffects(object, true, (child) => {
49
+ if (child.material) {
50
+ applyColorProperty(child.material, key, hexValue);
51
+ }
52
+ });
53
+ }, [object]);
54
+ /**
55
+ * Apply a full set of settings to the current material.
56
+ * Used for randomize or batch updates.
57
+ */
58
+ const applyAllSettings = useCallback((settings) => {
59
+ if (!object)
60
+ return;
61
+ traverseSkippingEdgesAndEffects(object, true, (child) => {
62
+ if (child.material) {
63
+ MaterialRegistryAPI.applySettings(child.material, settings);
64
+ }
65
+ });
66
+ }, [object]);
67
+ /**
68
+ * Change the material variant entirely.
69
+ * Creates a new material instance and assigns it to all non-edges children.
70
+ */
71
+ const changeMaterial = useCallback((variant, settings) => {
72
+ if (!object)
73
+ return;
74
+ traverseSkippingEdgesAndEffects(object, true, (child) => {
75
+ if (child.material) {
76
+ const oldInstance = child.userData[MATERIAL_INSTANCE_KEY];
77
+ if (oldInstance) {
78
+ try {
79
+ MaterialRegistryAPI.releaseMaterial(oldInstance);
80
+ }
81
+ catch (_) { }
82
+ }
83
+ const instance = createAndApplyMaterial(variant, settings);
84
+ child.material = instance.material;
85
+ child.userData[MATERIAL_INSTANCE_KEY] = instance;
86
+ }
87
+ });
88
+ }, [object]);
89
+ return {
90
+ getMaterial,
91
+ updateProperty,
92
+ updateColor,
93
+ applyAllSettings,
94
+ changeMaterial,
95
+ };
96
+ }
@@ -0,0 +1,3 @@
1
+ export declare function useMeshController(): any;
2
+ export default useMeshController;
3
+ //# sourceMappingURL=useMeshController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMeshController.d.ts","sourceRoot":"","sources":["../../src/hooks/useMeshController.ts"],"names":[],"mappings":"AACA,wBAAgB,iBAAiB,IAAI,GAAG,CAqKvC;AACD,eAAe,iBAAiB,CAAC"}