@3driseai/3drise-viewer 0.1.28 → 0.1.30

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 (804) hide show
  1. package/dist/animationsV2/ClipPlayer.d.ts.map +1 -1
  2. package/dist/animationsV2/ClipPlayer.js +13 -9
  3. package/dist/animationsV2/ClipsRuntime.d.ts +48 -3
  4. package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
  5. package/dist/animationsV2/ClipsRuntime.js +239 -57
  6. package/dist/animationsV2/appliers.d.ts.map +1 -1
  7. package/dist/animationsV2/appliers.js +21 -5
  8. package/dist/animationsV2/clipUtils.js +1 -1
  9. package/dist/animationsV2/index.d.ts +1 -1
  10. package/dist/animationsV2/index.d.ts.map +1 -1
  11. package/dist/animationsV2/normalize.d.ts.map +1 -1
  12. package/dist/animationsV2/normalize.js +7 -3
  13. package/dist/animationsV2/sequenceUtils.d.ts +49 -6
  14. package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
  15. package/dist/animationsV2/sequenceUtils.js +68 -12
  16. package/dist/animationsV2/types.d.ts +28 -12
  17. package/dist/animationsV2/types.d.ts.map +1 -1
  18. package/dist/api/sceneHandle.d.ts +35 -1
  19. package/dist/api/sceneHandle.d.ts.map +1 -1
  20. package/dist/api/sceneHandle.js +88 -17
  21. package/dist/components/AdvancedGrid.d.ts +1 -5
  22. package/dist/components/AdvancedGrid.d.ts.map +1 -1
  23. package/dist/components/AdvancedGrid.js +6 -35
  24. package/dist/components/AnimatedObject.d.ts.map +1 -1
  25. package/dist/components/AnimatedObject.js +9 -4
  26. package/dist/components/ApollonianGrid.d.ts +1 -1
  27. package/dist/components/ApollonianGrid.d.ts.map +1 -1
  28. package/dist/components/ApollonianGrid.js +3 -28
  29. package/dist/components/ChladniGrid.d.ts +1 -1
  30. package/dist/components/ChladniGrid.d.ts.map +1 -1
  31. package/dist/components/ChladniGrid.js +6 -35
  32. package/dist/components/CircuitGrid.d.ts +1 -1
  33. package/dist/components/CircuitGrid.d.ts.map +1 -1
  34. package/dist/components/CircuitGrid.js +6 -34
  35. package/dist/components/ConformalGrid.d.ts +1 -1
  36. package/dist/components/ConformalGrid.d.ts.map +1 -1
  37. package/dist/components/ConformalGrid.js +3 -34
  38. package/dist/components/ContourGrid.d.ts +1 -1
  39. package/dist/components/ContourGrid.d.ts.map +1 -1
  40. package/dist/components/ContourGrid.js +6 -34
  41. package/dist/components/CustomPrimitive.js +1 -1
  42. package/dist/components/EffectsGenerator.d.ts.map +1 -1
  43. package/dist/components/EffectsGenerator.js +43 -38
  44. package/dist/components/EnvironmentObject.d.ts.map +1 -1
  45. package/dist/components/EnvironmentObject.js +9 -7
  46. package/dist/components/FlowNetGrid.d.ts +1 -1
  47. package/dist/components/FlowNetGrid.d.ts.map +1 -1
  48. package/dist/components/FlowNetGrid.js +6 -34
  49. package/dist/components/FractalGrid.d.ts +1 -1
  50. package/dist/components/FractalGrid.d.ts.map +1 -1
  51. package/dist/components/FractalGrid.js +6 -37
  52. package/dist/components/Galaxy.d.ts.map +1 -1
  53. package/dist/components/Galaxy.js +9 -23
  54. package/dist/components/GeometryShape.d.ts.map +1 -1
  55. package/dist/components/GeometryShape.js +22 -2
  56. package/dist/components/GirihGrid.d.ts +1 -1
  57. package/dist/components/GirihGrid.d.ts.map +1 -1
  58. package/dist/components/GirihGrid.js +6 -35
  59. package/dist/components/GravWaveGrid.d.ts +1 -1
  60. package/dist/components/GravWaveGrid.d.ts.map +1 -1
  61. package/dist/components/GravWaveGrid.js +6 -35
  62. package/dist/components/HexGrid.d.ts +1 -5
  63. package/dist/components/HexGrid.d.ts.map +1 -1
  64. package/dist/components/HexGrid.js +6 -36
  65. package/dist/components/HilbertGrid.d.ts +1 -1
  66. package/dist/components/HilbertGrid.d.ts.map +1 -1
  67. package/dist/components/HilbertGrid.js +3 -30
  68. package/dist/components/HyperbolicGrid.d.ts +1 -1
  69. package/dist/components/HyperbolicGrid.d.ts.map +1 -1
  70. package/dist/components/HyperbolicGrid.js +6 -34
  71. package/dist/components/LandObject.d.ts +9 -0
  72. package/dist/components/LandObject.d.ts.map +1 -0
  73. package/dist/components/LandObject.js +15 -0
  74. package/dist/components/LensingGrid.d.ts +1 -1
  75. package/dist/components/LensingGrid.d.ts.map +1 -1
  76. package/dist/components/LensingGrid.js +3 -29
  77. package/dist/components/LightsManager.d.ts.map +1 -1
  78. package/dist/components/LightsManager.js +8 -0
  79. package/dist/components/ModelBoundary.d.ts +2 -0
  80. package/dist/components/ModelBoundary.d.ts.map +1 -1
  81. package/dist/components/ModelBoundary.js +3 -0
  82. package/dist/components/ModelPrimitive.d.ts.map +1 -1
  83. package/dist/components/ModelPrimitive.js +6 -0
  84. package/dist/components/MoireGrid.d.ts +1 -1
  85. package/dist/components/MoireGrid.d.ts.map +1 -1
  86. package/dist/components/MoireGrid.js +6 -35
  87. package/dist/components/MoonDisc.d.ts +11 -0
  88. package/dist/components/MoonDisc.d.ts.map +1 -0
  89. package/dist/components/MoonDisc.js +128 -0
  90. package/dist/components/ObjectNode.d.ts.map +1 -1
  91. package/dist/components/ObjectNode.js +10 -10
  92. package/dist/components/ObjectsRenderer.d.ts.map +1 -1
  93. package/dist/components/ObjectsRenderer.js +7 -5
  94. package/dist/components/OceanBuilder.d.ts.map +1 -1
  95. package/dist/components/OceanBuilder.js +2 -0
  96. package/dist/components/ParastichyGrid.d.ts +1 -1
  97. package/dist/components/ParastichyGrid.d.ts.map +1 -1
  98. package/dist/components/ParastichyGrid.js +3 -30
  99. package/dist/components/ParticlesGenerator.d.ts.map +1 -1
  100. package/dist/components/ParticlesGenerator.js +44 -24
  101. package/dist/components/PhyllotaxisGrid.d.ts +1 -1
  102. package/dist/components/PhyllotaxisGrid.d.ts.map +1 -1
  103. package/dist/components/PhyllotaxisGrid.js +3 -32
  104. package/dist/components/PickVolume.d.ts +17 -0
  105. package/dist/components/PickVolume.d.ts.map +1 -0
  106. package/dist/components/PickVolume.js +20 -0
  107. package/dist/components/ProjectLoader.d.ts +5 -3
  108. package/dist/components/ProjectLoader.d.ts.map +1 -1
  109. package/dist/components/ProjectLoader.js +6 -3
  110. package/dist/components/QuasiGrid.d.ts +1 -1
  111. package/dist/components/QuasiGrid.d.ts.map +1 -1
  112. package/dist/components/QuasiGrid.js +6 -33
  113. package/dist/components/RadarGrid.d.ts +1 -1
  114. package/dist/components/RadarGrid.d.ts.map +1 -1
  115. package/dist/components/RadarGrid.js +6 -34
  116. package/dist/components/ReactionDiffusionGrid.d.ts +1 -1
  117. package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
  118. package/dist/components/ReactionDiffusionGrid.js +6 -35
  119. package/dist/components/SceneBuilder.d.ts +25 -3
  120. package/dist/components/SceneBuilder.d.ts.map +1 -1
  121. package/dist/components/SceneBuilder.js +68 -38
  122. package/dist/components/SkyController.d.ts +25 -1
  123. package/dist/components/SkyController.d.ts.map +1 -1
  124. package/dist/components/SkyController.js +189 -130
  125. package/dist/components/SkyMesh.d.ts.map +1 -1
  126. package/dist/components/SkyMesh.js +26 -1
  127. package/dist/components/SkyStars.d.ts +11 -0
  128. package/dist/components/SkyStars.d.ts.map +1 -0
  129. package/dist/components/SkyStars.js +268 -0
  130. package/dist/components/SkySystem.d.ts +3 -3
  131. package/dist/components/SkySystem.d.ts.map +1 -1
  132. package/dist/components/SkySystem.js +8 -2
  133. package/dist/components/Sun.d.ts +15 -1
  134. package/dist/components/Sun.d.ts.map +1 -1
  135. package/dist/components/Sun.js +64 -3
  136. package/dist/components/SunLight.d.ts +6 -1
  137. package/dist/components/SunLight.d.ts.map +1 -1
  138. package/dist/components/SunLight.js +96 -44
  139. package/dist/components/TerrainBuilder.d.ts.map +1 -1
  140. package/dist/components/TerrainBuilder.js +2 -0
  141. package/dist/components/TextGenerator.d.ts +9 -0
  142. package/dist/components/TextGenerator.d.ts.map +1 -0
  143. package/dist/components/TextGenerator.js +30 -0
  144. package/dist/components/TruchetGrid.d.ts +1 -1
  145. package/dist/components/TruchetGrid.d.ts.map +1 -1
  146. package/dist/components/TruchetGrid.js +3 -30
  147. package/dist/components/VoronoiGrid.d.ts +1 -1
  148. package/dist/components/VoronoiGrid.d.ts.map +1 -1
  149. package/dist/components/VoronoiGrid.js +6 -33
  150. package/dist/components/WallpaperGrid.d.ts +1 -1
  151. package/dist/components/WallpaperGrid.d.ts.map +1 -1
  152. package/dist/components/WallpaperGrid.js +6 -35
  153. package/dist/components/environment/Rain.d.ts +15 -0
  154. package/dist/components/environment/Rain.d.ts.map +1 -0
  155. package/dist/components/environment/Rain.js +110 -0
  156. package/dist/components/environment/Rainbow.d.ts +20 -0
  157. package/dist/components/environment/Rainbow.d.ts.map +1 -0
  158. package/dist/components/environment/Rainbow.js +974 -0
  159. package/dist/components/environment/Sandstorm.d.ts +20 -0
  160. package/dist/components/environment/Sandstorm.d.ts.map +1 -0
  161. package/dist/components/environment/Sandstorm.js +776 -0
  162. package/dist/components/environment/Snow.d.ts +20 -0
  163. package/dist/components/environment/Snow.d.ts.map +1 -0
  164. package/dist/components/environment/Snow.js +609 -0
  165. package/dist/components/environment/Thunderstorm.d.ts +20 -0
  166. package/dist/components/environment/Thunderstorm.d.ts.map +1 -0
  167. package/dist/components/environment/Thunderstorm.js +731 -0
  168. package/dist/components/environment/Tornado.d.ts +20 -0
  169. package/dist/components/environment/Tornado.d.ts.map +1 -0
  170. package/dist/components/environment/Tornado.js +762 -0
  171. package/dist/components/environment/index.d.ts +13 -0
  172. package/dist/components/environment/index.d.ts.map +1 -0
  173. package/dist/components/environment/index.js +7 -0
  174. package/dist/components/index.d.ts +11 -18
  175. package/dist/components/index.d.ts.map +1 -1
  176. package/dist/components/index.js +9 -10
  177. package/dist/components/land/LandPatch.d.ts +15 -0
  178. package/dist/components/land/LandPatch.d.ts.map +1 -0
  179. package/dist/components/land/LandPatch.js +170 -0
  180. package/dist/components/land/index.d.ts +3 -0
  181. package/dist/components/land/index.d.ts.map +1 -0
  182. package/dist/components/land/index.js +1 -0
  183. package/dist/components/particles/BioluminescentWakeParticles.d.ts +5 -0
  184. package/dist/components/particles/BioluminescentWakeParticles.d.ts.map +1 -1
  185. package/dist/components/particles/BioluminescentWakeParticles.js +2 -1
  186. package/dist/components/particles/BrownianDustParticles.d.ts +5 -0
  187. package/dist/components/particles/BrownianDustParticles.d.ts.map +1 -1
  188. package/dist/components/particles/BrownianDustParticles.js +2 -0
  189. package/dist/components/particles/ChladniSandParticles.d.ts +5 -0
  190. package/dist/components/particles/ChladniSandParticles.d.ts.map +1 -1
  191. package/dist/components/particles/ChladniSandParticles.js +2 -1
  192. package/dist/components/particles/ElectronOrbitalsParticles.d.ts +5 -0
  193. package/dist/components/particles/ElectronOrbitalsParticles.d.ts.map +1 -1
  194. package/dist/components/particles/ElectronOrbitalsParticles.js +2 -1
  195. package/dist/components/particles/FaradayPowderParticles.d.ts +5 -0
  196. package/dist/components/particles/FaradayPowderParticles.d.ts.map +1 -1
  197. package/dist/components/particles/FaradayPowderParticles.js +2 -1
  198. package/dist/components/particles/GrinderSparksParticles.d.ts +5 -0
  199. package/dist/components/particles/GrinderSparksParticles.d.ts.map +1 -1
  200. package/dist/components/particles/GrinderSparksParticles.js +2 -1
  201. package/dist/components/particles/MagneticBottleParticles.d.ts +5 -0
  202. package/dist/components/particles/MagneticBottleParticles.d.ts.map +1 -1
  203. package/dist/components/particles/MagneticBottleParticles.js +2 -1
  204. package/dist/components/particles/NeonRainParticles.d.ts +5 -0
  205. package/dist/components/particles/NeonRainParticles.d.ts.map +1 -1
  206. package/dist/components/particles/NeonRainParticles.js +2 -1
  207. package/dist/components/particles/ShapeBurstParticles.d.ts +5 -0
  208. package/dist/components/particles/ShapeBurstParticles.d.ts.map +1 -1
  209. package/dist/components/particles/ShapeBurstParticles.js +2 -1
  210. package/dist/components/particles/ShapeFlowParticles.d.ts +5 -0
  211. package/dist/components/particles/ShapeFlowParticles.d.ts.map +1 -1
  212. package/dist/components/particles/ShapeFlowParticles.js +2 -1
  213. package/dist/components/particles/TidalStreamParticles.d.ts +5 -0
  214. package/dist/components/particles/TidalStreamParticles.d.ts.map +1 -1
  215. package/dist/components/particles/TidalStreamParticles.js +2 -0
  216. package/dist/components/space/Earth.d.ts +16 -0
  217. package/dist/components/space/Earth.d.ts.map +1 -0
  218. package/dist/components/space/Earth.js +75 -0
  219. package/dist/components/space/ShootingStar.d.ts +21 -0
  220. package/dist/components/space/ShootingStar.d.ts.map +1 -0
  221. package/dist/components/space/ShootingStar.js +101 -0
  222. package/dist/components/space/ShootingStars.d.ts +16 -0
  223. package/dist/components/space/ShootingStars.d.ts.map +1 -0
  224. package/dist/components/space/ShootingStars.js +71 -0
  225. package/dist/components/space/SolarSystem.d.ts +16 -0
  226. package/dist/components/space/SolarSystem.d.ts.map +1 -0
  227. package/dist/components/space/SolarSystem.js +141 -0
  228. package/dist/components/space/Stars.d.ts +20 -0
  229. package/dist/components/space/Stars.d.ts.map +1 -0
  230. package/dist/components/space/Stars.js +160 -0
  231. package/dist/components/space/index.d.ts +11 -0
  232. package/dist/components/space/index.d.ts.map +1 -0
  233. package/dist/components/space/index.js +8 -0
  234. package/dist/components/terrain/TerrainSurface.d.ts.map +1 -1
  235. package/dist/components/terrain/TerrainSurface.js +27 -3
  236. package/dist/components/terrain/types.d.ts +5 -1
  237. package/dist/components/terrain/types.d.ts.map +1 -1
  238. package/dist/components/text/BurnAwayText.d.ts +15 -0
  239. package/dist/components/text/BurnAwayText.d.ts.map +1 -0
  240. package/dist/components/text/BurnAwayText.js +4 -0
  241. package/dist/components/text/ChalkboardText.d.ts +15 -0
  242. package/dist/components/text/ChalkboardText.d.ts.map +1 -0
  243. package/dist/components/text/ChalkboardText.js +4 -0
  244. package/dist/components/text/ConstellationText.d.ts +15 -0
  245. package/dist/components/text/ConstellationText.d.ts.map +1 -0
  246. package/dist/components/text/ConstellationText.js +4 -0
  247. package/dist/components/text/EmbroideryText.d.ts +15 -0
  248. package/dist/components/text/EmbroideryText.d.ts.map +1 -0
  249. package/dist/components/text/EmbroideryText.js +4 -0
  250. package/dist/components/text/FourierSketchText.d.ts +15 -0
  251. package/dist/components/text/FourierSketchText.d.ts.map +1 -0
  252. package/dist/components/text/FourierSketchText.js +4 -0
  253. package/dist/components/text/FrostGrowthText.d.ts +15 -0
  254. package/dist/components/text/FrostGrowthText.d.ts.map +1 -0
  255. package/dist/components/text/FrostGrowthText.js +4 -0
  256. package/dist/components/text/HandwritingText.d.ts +15 -0
  257. package/dist/components/text/HandwritingText.d.ts.map +1 -0
  258. package/dist/components/text/HandwritingText.js +4 -0
  259. package/dist/components/text/InkBleedText.d.ts +15 -0
  260. package/dist/components/text/InkBleedText.d.ts.map +1 -0
  261. package/dist/components/text/InkBleedText.js +4 -0
  262. package/dist/components/text/LightPaintingText.d.ts +15 -0
  263. package/dist/components/text/LightPaintingText.d.ts.map +1 -0
  264. package/dist/components/text/LightPaintingText.js +4 -0
  265. package/dist/components/text/LiquidMetalText.d.ts +15 -0
  266. package/dist/components/text/LiquidMetalText.d.ts.map +1 -0
  267. package/dist/components/text/LiquidMetalText.js +4 -0
  268. package/dist/components/text/NeonTubeText.d.ts +15 -0
  269. package/dist/components/text/NeonTubeText.d.ts.map +1 -0
  270. package/dist/components/text/NeonTubeText.js +4 -0
  271. package/dist/components/text/PlainText.d.ts +15 -0
  272. package/dist/components/text/PlainText.d.ts.map +1 -0
  273. package/dist/components/text/PlainText.js +4 -0
  274. package/dist/components/text/PlasmaDischargeText.d.ts +15 -0
  275. package/dist/components/text/PlasmaDischargeText.d.ts.map +1 -0
  276. package/dist/components/text/PlasmaDischargeText.js +4 -0
  277. package/dist/components/text/TextObjectView.d.ts +14 -0
  278. package/dist/components/text/TextObjectView.d.ts.map +1 -0
  279. package/dist/components/text/TextObjectView.js +17 -0
  280. package/dist/components/text/engine/fieldkit.d.ts +24 -0
  281. package/dist/components/text/engine/fieldkit.d.ts.map +1 -0
  282. package/dist/components/text/engine/fieldkit.js +201 -0
  283. package/dist/components/text/engine/glyphs.d.ts +19 -0
  284. package/dist/components/text/engine/glyphs.d.ts.map +1 -0
  285. package/dist/components/text/engine/glyphs.js +269 -0
  286. package/dist/components/text/engine/looks/burnAway.d.ts +144 -0
  287. package/dist/components/text/engine/looks/burnAway.d.ts.map +1 -0
  288. package/dist/components/text/engine/looks/burnAway.js +593 -0
  289. package/dist/components/text/engine/looks/chalkboard.d.ts +135 -0
  290. package/dist/components/text/engine/looks/chalkboard.d.ts.map +1 -0
  291. package/dist/components/text/engine/looks/chalkboard.js +426 -0
  292. package/dist/components/text/engine/looks/constellation.d.ts +111 -0
  293. package/dist/components/text/engine/looks/constellation.d.ts.map +1 -0
  294. package/dist/components/text/engine/looks/constellation.js +496 -0
  295. package/dist/components/text/engine/looks/embroidery.d.ts +165 -0
  296. package/dist/components/text/engine/looks/embroidery.d.ts.map +1 -0
  297. package/dist/components/text/engine/looks/embroidery.js +645 -0
  298. package/dist/components/text/engine/looks/frostGrowth.d.ts +109 -0
  299. package/dist/components/text/engine/looks/frostGrowth.d.ts.map +1 -0
  300. package/dist/components/text/engine/looks/frostGrowth.js +727 -0
  301. package/dist/components/text/engine/looks/index.d.ts +2 -0
  302. package/dist/components/text/engine/looks/index.d.ts.map +1 -0
  303. package/dist/components/text/engine/looks/index.js +49 -0
  304. package/dist/components/text/engine/looks/inkBleed.d.ts +103 -0
  305. package/dist/components/text/engine/looks/inkBleed.d.ts.map +1 -0
  306. package/dist/components/text/engine/looks/inkBleed.js +590 -0
  307. package/dist/components/text/engine/looks/lightPainting.d.ts +132 -0
  308. package/dist/components/text/engine/looks/lightPainting.d.ts.map +1 -0
  309. package/dist/components/text/engine/looks/lightPainting.js +567 -0
  310. package/dist/components/text/engine/looks/liquidMetal.d.ts +135 -0
  311. package/dist/components/text/engine/looks/liquidMetal.d.ts.map +1 -0
  312. package/dist/components/text/engine/looks/liquidMetal.js +655 -0
  313. package/dist/components/text/engine/looks/plain.d.ts +146 -0
  314. package/dist/components/text/engine/looks/plain.d.ts.map +1 -0
  315. package/dist/components/text/engine/looks/plain.js +104 -0
  316. package/dist/components/text/engine/looks/plasmaDischarge.d.ts +126 -0
  317. package/dist/components/text/engine/looks/plasmaDischarge.d.ts.map +1 -0
  318. package/dist/components/text/engine/looks/plasmaDischarge.js +763 -0
  319. package/dist/components/text/engine/methods.d.ts +19 -0
  320. package/dist/components/text/engine/methods.d.ts.map +1 -0
  321. package/dist/components/text/engine/methods.js +126 -0
  322. package/dist/components/text/engine/playback.d.ts +40 -0
  323. package/dist/components/text/engine/playback.d.ts.map +1 -0
  324. package/dist/components/text/engine/playback.js +114 -0
  325. package/dist/components/text/engine/ribbon.d.ts +58 -0
  326. package/dist/components/text/engine/ribbon.d.ts.map +1 -0
  327. package/dist/components/text/engine/ribbon.js +250 -0
  328. package/dist/components/text/engine/variants.d.ts +159 -0
  329. package/dist/components/text/engine/variants.d.ts.map +1 -0
  330. package/dist/components/text/engine/variants.js +378 -0
  331. package/dist/components/text/fonts/architects-daughter.outline.d.ts +3 -0
  332. package/dist/components/text/fonts/architects-daughter.outline.d.ts.map +1 -0
  333. package/dist/components/text/fonts/architects-daughter.outline.js +4 -0
  334. package/dist/components/text/fonts/architects-daughter.strokes.d.ts +3 -0
  335. package/dist/components/text/fonts/architects-daughter.strokes.d.ts.map +1 -0
  336. package/dist/components/text/fonts/architects-daughter.strokes.js +4 -0
  337. package/dist/components/text/fonts/bebas-neue.outline.d.ts +3 -0
  338. package/dist/components/text/fonts/bebas-neue.outline.d.ts.map +1 -0
  339. package/dist/components/text/fonts/bebas-neue.outline.js +4 -0
  340. package/dist/components/text/fonts/bebas-neue.strokes.d.ts +3 -0
  341. package/dist/components/text/fonts/bebas-neue.strokes.d.ts.map +1 -0
  342. package/dist/components/text/fonts/bebas-neue.strokes.js +4 -0
  343. package/dist/components/text/fonts/caveat.outline.d.ts +3 -0
  344. package/dist/components/text/fonts/caveat.outline.d.ts.map +1 -0
  345. package/dist/components/text/fonts/caveat.outline.js +4 -0
  346. package/dist/components/text/fonts/caveat.strokes.d.ts +3 -0
  347. package/dist/components/text/fonts/caveat.strokes.d.ts.map +1 -0
  348. package/dist/components/text/fonts/caveat.strokes.js +4 -0
  349. package/dist/components/text/fonts/courgette.outline.d.ts +3 -0
  350. package/dist/components/text/fonts/courgette.outline.d.ts.map +1 -0
  351. package/dist/components/text/fonts/courgette.outline.js +4 -0
  352. package/dist/components/text/fonts/courgette.strokes.d.ts +3 -0
  353. package/dist/components/text/fonts/courgette.strokes.d.ts.map +1 -0
  354. package/dist/components/text/fonts/courgette.strokes.js +4 -0
  355. package/dist/components/text/fonts/dancing-script.outline.d.ts +3 -0
  356. package/dist/components/text/fonts/dancing-script.outline.d.ts.map +1 -0
  357. package/dist/components/text/fonts/dancing-script.outline.js +4 -0
  358. package/dist/components/text/fonts/dancing-script.strokes.d.ts +3 -0
  359. package/dist/components/text/fonts/dancing-script.strokes.d.ts.map +1 -0
  360. package/dist/components/text/fonts/dancing-script.strokes.js +4 -0
  361. package/dist/components/text/fonts/gochi-hand.outline.d.ts +3 -0
  362. package/dist/components/text/fonts/gochi-hand.outline.d.ts.map +1 -0
  363. package/dist/components/text/fonts/gochi-hand.outline.js +4 -0
  364. package/dist/components/text/fonts/gochi-hand.strokes.d.ts +3 -0
  365. package/dist/components/text/fonts/gochi-hand.strokes.d.ts.map +1 -0
  366. package/dist/components/text/fonts/gochi-hand.strokes.js +4 -0
  367. package/dist/components/text/fonts/handlee.outline.d.ts +3 -0
  368. package/dist/components/text/fonts/handlee.outline.d.ts.map +1 -0
  369. package/dist/components/text/fonts/handlee.outline.js +4 -0
  370. package/dist/components/text/fonts/handlee.strokes.d.ts +3 -0
  371. package/dist/components/text/fonts/handlee.strokes.d.ts.map +1 -0
  372. package/dist/components/text/fonts/handlee.strokes.js +4 -0
  373. package/dist/components/text/fonts/index.d.ts +5 -0
  374. package/dist/components/text/fonts/index.d.ts.map +1 -0
  375. package/dist/components/text/fonts/index.js +58 -0
  376. package/dist/components/text/fonts/indie-flower.outline.d.ts +3 -0
  377. package/dist/components/text/fonts/indie-flower.outline.d.ts.map +1 -0
  378. package/dist/components/text/fonts/indie-flower.outline.js +4 -0
  379. package/dist/components/text/fonts/indie-flower.strokes.d.ts +3 -0
  380. package/dist/components/text/fonts/indie-flower.strokes.d.ts.map +1 -0
  381. package/dist/components/text/fonts/indie-flower.strokes.js +4 -0
  382. package/dist/components/text/fonts/inter.outline.d.ts +3 -0
  383. package/dist/components/text/fonts/inter.outline.d.ts.map +1 -0
  384. package/dist/components/text/fonts/inter.outline.js +4 -0
  385. package/dist/components/text/fonts/inter.strokes.d.ts +3 -0
  386. package/dist/components/text/fonts/inter.strokes.d.ts.map +1 -0
  387. package/dist/components/text/fonts/inter.strokes.js +4 -0
  388. package/dist/components/text/fonts/kalam.outline.d.ts +3 -0
  389. package/dist/components/text/fonts/kalam.outline.d.ts.map +1 -0
  390. package/dist/components/text/fonts/kalam.outline.js +4 -0
  391. package/dist/components/text/fonts/kalam.strokes.d.ts +3 -0
  392. package/dist/components/text/fonts/kalam.strokes.d.ts.map +1 -0
  393. package/dist/components/text/fonts/kalam.strokes.js +4 -0
  394. package/dist/components/text/fonts/kaushan-script.outline.d.ts +3 -0
  395. package/dist/components/text/fonts/kaushan-script.outline.d.ts.map +1 -0
  396. package/dist/components/text/fonts/kaushan-script.outline.js +4 -0
  397. package/dist/components/text/fonts/kaushan-script.strokes.d.ts +3 -0
  398. package/dist/components/text/fonts/kaushan-script.strokes.d.ts.map +1 -0
  399. package/dist/components/text/fonts/kaushan-script.strokes.js +4 -0
  400. package/dist/components/text/fonts/lora.outline.d.ts +3 -0
  401. package/dist/components/text/fonts/lora.outline.d.ts.map +1 -0
  402. package/dist/components/text/fonts/lora.outline.js +4 -0
  403. package/dist/components/text/fonts/lora.strokes.d.ts +3 -0
  404. package/dist/components/text/fonts/lora.strokes.d.ts.map +1 -0
  405. package/dist/components/text/fonts/lora.strokes.js +4 -0
  406. package/dist/components/text/fonts/montserrat.outline.d.ts +3 -0
  407. package/dist/components/text/fonts/montserrat.outline.d.ts.map +1 -0
  408. package/dist/components/text/fonts/montserrat.outline.js +4 -0
  409. package/dist/components/text/fonts/montserrat.strokes.d.ts +3 -0
  410. package/dist/components/text/fonts/montserrat.strokes.d.ts.map +1 -0
  411. package/dist/components/text/fonts/montserrat.strokes.js +4 -0
  412. package/dist/components/text/fonts/mynerve.outline.d.ts +3 -0
  413. package/dist/components/text/fonts/mynerve.outline.d.ts.map +1 -0
  414. package/dist/components/text/fonts/mynerve.outline.js +4 -0
  415. package/dist/components/text/fonts/mynerve.strokes.d.ts +3 -0
  416. package/dist/components/text/fonts/mynerve.strokes.d.ts.map +1 -0
  417. package/dist/components/text/fonts/mynerve.strokes.js +4 -0
  418. package/dist/components/text/fonts/nanum-pen-script.outline.d.ts +3 -0
  419. package/dist/components/text/fonts/nanum-pen-script.outline.d.ts.map +1 -0
  420. package/dist/components/text/fonts/nanum-pen-script.outline.js +4 -0
  421. package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts +3 -0
  422. package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts.map +1 -0
  423. package/dist/components/text/fonts/nanum-pen-script.strokes.js +4 -0
  424. package/dist/components/text/fonts/oswald.outline.d.ts +3 -0
  425. package/dist/components/text/fonts/oswald.outline.d.ts.map +1 -0
  426. package/dist/components/text/fonts/oswald.outline.js +4 -0
  427. package/dist/components/text/fonts/oswald.strokes.d.ts +3 -0
  428. package/dist/components/text/fonts/oswald.strokes.d.ts.map +1 -0
  429. package/dist/components/text/fonts/oswald.strokes.js +4 -0
  430. package/dist/components/text/fonts/pacifico.outline.d.ts +3 -0
  431. package/dist/components/text/fonts/pacifico.outline.d.ts.map +1 -0
  432. package/dist/components/text/fonts/pacifico.outline.js +4 -0
  433. package/dist/components/text/fonts/pacifico.strokes.d.ts +3 -0
  434. package/dist/components/text/fonts/pacifico.strokes.d.ts.map +1 -0
  435. package/dist/components/text/fonts/pacifico.strokes.js +4 -0
  436. package/dist/components/text/fonts/patrick-hand.outline.d.ts +3 -0
  437. package/dist/components/text/fonts/patrick-hand.outline.d.ts.map +1 -0
  438. package/dist/components/text/fonts/patrick-hand.outline.js +4 -0
  439. package/dist/components/text/fonts/patrick-hand.strokes.d.ts +3 -0
  440. package/dist/components/text/fonts/patrick-hand.strokes.d.ts.map +1 -0
  441. package/dist/components/text/fonts/patrick-hand.strokes.js +4 -0
  442. package/dist/components/text/fonts/playfair-display.outline.d.ts +3 -0
  443. package/dist/components/text/fonts/playfair-display.outline.d.ts.map +1 -0
  444. package/dist/components/text/fonts/playfair-display.outline.js +4 -0
  445. package/dist/components/text/fonts/playfair-display.strokes.d.ts +3 -0
  446. package/dist/components/text/fonts/playfair-display.strokes.d.ts.map +1 -0
  447. package/dist/components/text/fonts/playfair-display.strokes.js +4 -0
  448. package/dist/components/text/fonts/poppins.outline.d.ts +3 -0
  449. package/dist/components/text/fonts/poppins.outline.d.ts.map +1 -0
  450. package/dist/components/text/fonts/poppins.outline.js +4 -0
  451. package/dist/components/text/fonts/poppins.strokes.d.ts +3 -0
  452. package/dist/components/text/fonts/poppins.strokes.d.ts.map +1 -0
  453. package/dist/components/text/fonts/poppins.strokes.js +4 -0
  454. package/dist/components/text/fonts/roboto.outline.d.ts +3 -0
  455. package/dist/components/text/fonts/roboto.outline.d.ts.map +1 -0
  456. package/dist/components/text/fonts/roboto.outline.js +4 -0
  457. package/dist/components/text/fonts/roboto.strokes.d.ts +3 -0
  458. package/dist/components/text/fonts/roboto.strokes.d.ts.map +1 -0
  459. package/dist/components/text/fonts/roboto.strokes.js +4 -0
  460. package/dist/components/text/fonts/satisfy.outline.d.ts +3 -0
  461. package/dist/components/text/fonts/satisfy.outline.d.ts.map +1 -0
  462. package/dist/components/text/fonts/satisfy.outline.js +4 -0
  463. package/dist/components/text/fonts/satisfy.strokes.d.ts +3 -0
  464. package/dist/components/text/fonts/satisfy.strokes.d.ts.map +1 -0
  465. package/dist/components/text/fonts/satisfy.strokes.js +4 -0
  466. package/dist/components/text/fonts/sriracha.outline.d.ts +3 -0
  467. package/dist/components/text/fonts/sriracha.outline.d.ts.map +1 -0
  468. package/dist/components/text/fonts/sriracha.outline.js +4 -0
  469. package/dist/components/text/fonts/sriracha.strokes.d.ts +3 -0
  470. package/dist/components/text/fonts/sriracha.strokes.d.ts.map +1 -0
  471. package/dist/components/text/fonts/sriracha.strokes.js +4 -0
  472. package/dist/components/text/index.d.ts +29 -0
  473. package/dist/components/text/index.d.ts.map +1 -0
  474. package/dist/components/text/index.js +14 -0
  475. package/dist/components/text/useTextObject.d.ts +22 -0
  476. package/dist/components/text/useTextObject.d.ts.map +1 -0
  477. package/dist/components/text/useTextObject.js +130 -0
  478. package/dist/components/water/OceanSurface.d.ts.map +1 -1
  479. package/dist/components/water/OceanSurface.js +3 -1
  480. package/dist/components/water/WaterBody.d.ts.map +1 -1
  481. package/dist/components/water/WaterBody.js +3 -1
  482. package/dist/components/water/types.d.ts +5 -1
  483. package/dist/components/water/types.d.ts.map +1 -1
  484. package/dist/constants.d.ts.map +1 -1
  485. package/dist/constants.js +6 -0
  486. package/dist/hooks/index.d.ts +2 -0
  487. package/dist/hooks/index.d.ts.map +1 -1
  488. package/dist/hooks/index.js +1 -0
  489. package/dist/hooks/useCloudSun.d.ts +9 -4
  490. package/dist/hooks/useCloudSun.d.ts.map +1 -1
  491. package/dist/hooks/useCloudSun.js +17 -7
  492. package/dist/hooks/useConfigLive.d.ts +3 -2
  493. package/dist/hooks/useConfigLive.d.ts.map +1 -1
  494. package/dist/hooks/useContinuousEffects.d.ts.map +1 -1
  495. package/dist/hooks/useContinuousEffects.js +4 -10
  496. package/dist/hooks/useEnvironmentProbe.d.ts +3 -22
  497. package/dist/hooks/useEnvironmentProbe.d.ts.map +1 -1
  498. package/dist/hooks/useEnvironmentProbe.js +47 -8
  499. package/dist/hooks/useGridSurface.d.ts +3 -10
  500. package/dist/hooks/useGridSurface.d.ts.map +1 -1
  501. package/dist/hooks/useGridSurface.js +5 -31
  502. package/dist/hooks/useInteraction.d.ts.map +1 -1
  503. package/dist/hooks/useInteraction.js +19 -72
  504. package/dist/hooks/useLightConfig.d.ts +2 -1
  505. package/dist/hooks/useLightConfig.d.ts.map +1 -1
  506. package/dist/hooks/useOceanMaterial.d.ts +6 -2
  507. package/dist/hooks/useOceanMaterial.d.ts.map +1 -1
  508. package/dist/hooks/useOceanMaterial.js +37 -2
  509. package/dist/hooks/useSkyLive.d.ts +23 -0
  510. package/dist/hooks/useSkyLive.d.ts.map +1 -0
  511. package/dist/hooks/useSkyLive.js +30 -0
  512. package/dist/hooks/useSkyUniforms.d.ts.map +1 -1
  513. package/dist/hooks/useSkyUniforms.js +2 -10
  514. package/dist/hooks/useTerrainLive.d.ts +3 -1
  515. package/dist/hooks/useTerrainLive.d.ts.map +1 -1
  516. package/dist/hooks/useTerrainTextures.d.ts +38 -0
  517. package/dist/hooks/useTerrainTextures.d.ts.map +1 -0
  518. package/dist/hooks/useTerrainTextures.js +149 -0
  519. package/dist/index.d.ts +12 -3
  520. package/dist/index.d.ts.map +1 -1
  521. package/dist/index.js +9 -2
  522. package/dist/operations/catalogue/blastOff.d.ts +3 -0
  523. package/dist/operations/catalogue/blastOff.d.ts.map +1 -0
  524. package/dist/operations/catalogue/blastOff.js +118 -0
  525. package/dist/operations/catalogue/bounce.d.ts +3 -0
  526. package/dist/operations/catalogue/bounce.d.ts.map +1 -0
  527. package/dist/operations/catalogue/bounce.js +34 -0
  528. package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -1
  529. package/dist/operations/catalogue/curlSmoke.js +3 -1
  530. package/dist/operations/catalogue/dissolve.d.ts.map +1 -1
  531. package/dist/operations/catalogue/dissolve.js +2 -1
  532. package/dist/operations/catalogue/driftUp.d.ts +3 -0
  533. package/dist/operations/catalogue/driftUp.d.ts.map +1 -0
  534. package/dist/operations/catalogue/driftUp.js +57 -0
  535. package/dist/operations/catalogue/emberAsh.d.ts.map +1 -1
  536. package/dist/operations/catalogue/emberAsh.js +2 -1
  537. package/dist/operations/catalogue/flip.d.ts.map +1 -1
  538. package/dist/operations/catalogue/flip.js +19 -9
  539. package/dist/operations/catalogue/float.d.ts +3 -0
  540. package/dist/operations/catalogue/float.d.ts.map +1 -0
  541. package/dist/operations/catalogue/float.js +39 -0
  542. package/dist/operations/catalogue/flock.d.ts.map +1 -1
  543. package/dist/operations/catalogue/flock.js +44 -9
  544. package/dist/operations/catalogue/flyBy.d.ts +3 -0
  545. package/dist/operations/catalogue/flyBy.d.ts.map +1 -0
  546. package/dist/operations/catalogue/flyBy.js +79 -0
  547. package/dist/operations/catalogue/frost.d.ts.map +1 -1
  548. package/dist/operations/catalogue/frost.js +10 -3
  549. package/dist/operations/catalogue/grow.d.ts +3 -0
  550. package/dist/operations/catalogue/grow.d.ts.map +1 -0
  551. package/dist/operations/catalogue/grow.js +19 -0
  552. package/dist/operations/catalogue/hologram.d.ts.map +1 -1
  553. package/dist/operations/catalogue/hologram.js +11 -5
  554. package/dist/operations/catalogue/inkBloom.d.ts.map +1 -1
  555. package/dist/operations/catalogue/inkBloom.js +46 -9
  556. package/dist/operations/catalogue/jelly.d.ts.map +1 -1
  557. package/dist/operations/catalogue/jelly.js +18 -8
  558. package/dist/operations/catalogue/knockAway.d.ts +3 -0
  559. package/dist/operations/catalogue/knockAway.d.ts.map +1 -0
  560. package/dist/operations/catalogue/knockAway.js +74 -0
  561. package/dist/operations/catalogue/leafFall.d.ts +3 -0
  562. package/dist/operations/catalogue/leafFall.d.ts.map +1 -0
  563. package/dist/operations/catalogue/leafFall.js +74 -0
  564. package/dist/operations/catalogue/lidarScan.d.ts.map +1 -1
  565. package/dist/operations/catalogue/lidarScan.js +4 -1
  566. package/dist/operations/catalogue/liquidMetal.d.ts.map +1 -1
  567. package/dist/operations/catalogue/liquidMetal.js +41 -12
  568. package/dist/operations/catalogue/metalize.d.ts.map +1 -1
  569. package/dist/operations/catalogue/metalize.js +8 -2
  570. package/dist/operations/catalogue/motionTrail.d.ts +6 -0
  571. package/dist/operations/catalogue/motionTrail.d.ts.map +1 -0
  572. package/dist/operations/catalogue/motionTrail.js +221 -0
  573. package/dist/operations/catalogue/particleSwarm.d.ts.map +1 -1
  574. package/dist/operations/catalogue/particleSwarm.js +29 -9
  575. package/dist/operations/catalogue/petalPeel.d.ts.map +1 -1
  576. package/dist/operations/catalogue/petalPeel.js +33 -9
  577. package/dist/operations/catalogue/petrify.d.ts.map +1 -1
  578. package/dist/operations/catalogue/petrify.js +9 -3
  579. package/dist/operations/catalogue/physicalExit.d.ts +55 -0
  580. package/dist/operations/catalogue/physicalExit.d.ts.map +1 -0
  581. package/dist/operations/catalogue/physicalExit.js +165 -0
  582. package/dist/operations/catalogue/physicalHeld.d.ts +41 -0
  583. package/dist/operations/catalogue/physicalHeld.d.ts.map +1 -0
  584. package/dist/operations/catalogue/physicalHeld.js +78 -0
  585. package/dist/operations/catalogue/physicalMix.d.ts +45 -0
  586. package/dist/operations/catalogue/physicalMix.d.ts.map +1 -0
  587. package/dist/operations/catalogue/physicalMix.js +144 -0
  588. package/dist/operations/catalogue/pop.d.ts +3 -0
  589. package/dist/operations/catalogue/pop.d.ts.map +1 -0
  590. package/dist/operations/catalogue/pop.js +44 -0
  591. package/dist/operations/catalogue/portal.d.ts.map +1 -1
  592. package/dist/operations/catalogue/portal.js +33 -11
  593. package/dist/operations/catalogue/print3d.d.ts.map +1 -1
  594. package/dist/operations/catalogue/print3d.js +5 -1
  595. package/dist/operations/catalogue/pulse.d.ts +3 -0
  596. package/dist/operations/catalogue/pulse.d.ts.map +1 -0
  597. package/dist/operations/catalogue/pulse.js +29 -0
  598. package/dist/operations/catalogue/restPose.d.ts +5 -7
  599. package/dist/operations/catalogue/restPose.d.ts.map +1 -1
  600. package/dist/operations/catalogue/restPose.js +18 -48
  601. package/dist/operations/catalogue/rotate.d.ts +3 -0
  602. package/dist/operations/catalogue/rotate.d.ts.map +1 -0
  603. package/dist/operations/catalogue/rotate.js +49 -0
  604. package/dist/operations/catalogue/sandErosion.d.ts.map +1 -1
  605. package/dist/operations/catalogue/sandErosion.js +36 -14
  606. package/dist/operations/catalogue/shake.d.ts +3 -0
  607. package/dist/operations/catalogue/shake.d.ts.map +1 -0
  608. package/dist/operations/catalogue/shake.js +31 -0
  609. package/dist/operations/catalogue/shatter.d.ts.map +1 -1
  610. package/dist/operations/catalogue/shatter.js +5 -1
  611. package/dist/operations/catalogue/slam.d.ts +3 -0
  612. package/dist/operations/catalogue/slam.d.ts.map +1 -0
  613. package/dist/operations/catalogue/slam.js +89 -0
  614. package/dist/operations/catalogue/slingshot.d.ts +3 -0
  615. package/dist/operations/catalogue/slingshot.d.ts.map +1 -0
  616. package/dist/operations/catalogue/slingshot.js +88 -0
  617. package/dist/operations/catalogue/spin.d.ts.map +1 -1
  618. package/dist/operations/catalogue/spin.js +24 -13
  619. package/dist/operations/catalogue/sway.d.ts +3 -0
  620. package/dist/operations/catalogue/sway.d.ts.map +1 -0
  621. package/dist/operations/catalogue/sway.js +23 -0
  622. package/dist/operations/catalogue/swirl.d.ts.map +1 -1
  623. package/dist/operations/catalogue/swirl.js +6 -5
  624. package/dist/operations/catalogue/teleport.d.ts.map +1 -1
  625. package/dist/operations/catalogue/teleport.js +43 -12
  626. package/dist/operations/catalogue/trailCore.d.ts +89 -0
  627. package/dist/operations/catalogue/trailCore.d.ts.map +1 -0
  628. package/dist/operations/catalogue/trailCore.js +190 -0
  629. package/dist/operations/catalogue/trailGhosts.d.ts +5 -0
  630. package/dist/operations/catalogue/trailGhosts.d.ts.map +1 -0
  631. package/dist/operations/catalogue/trailGhosts.js +179 -0
  632. package/dist/operations/catalogue/trailStampStyles.d.ts +11 -0
  633. package/dist/operations/catalogue/trailStampStyles.d.ts.map +1 -0
  634. package/dist/operations/catalogue/trailStampStyles.js +479 -0
  635. package/dist/operations/catalogue/trailStamps.d.ts +57 -0
  636. package/dist/operations/catalogue/trailStamps.d.ts.map +1 -0
  637. package/dist/operations/catalogue/trailStamps.js +349 -0
  638. package/dist/operations/catalogue/trailStreaks.d.ts +3 -0
  639. package/dist/operations/catalogue/trailStreaks.d.ts.map +1 -0
  640. package/dist/operations/catalogue/trailStreaks.js +147 -0
  641. package/dist/operations/catalogue/transitionField.d.ts +30 -0
  642. package/dist/operations/catalogue/transitionField.d.ts.map +1 -1
  643. package/dist/operations/catalogue/transitionField.js +21 -0
  644. package/dist/operations/catalogue/turnAway.d.ts +3 -0
  645. package/dist/operations/catalogue/turnAway.d.ts.map +1 -0
  646. package/dist/operations/catalogue/turnAway.js +54 -0
  647. package/dist/operations/catalogue/unweave.d.ts.map +1 -1
  648. package/dist/operations/catalogue/unweave.js +34 -15
  649. package/dist/operations/catalogue/vortexDrain.d.ts +3 -0
  650. package/dist/operations/catalogue/vortexDrain.d.ts.map +1 -0
  651. package/dist/operations/catalogue/vortexDrain.js +68 -0
  652. package/dist/operations/catalogue/voxelize.d.ts.map +1 -1
  653. package/dist/operations/catalogue/voxelize.js +37 -10
  654. package/dist/operations/catalogue/warp.d.ts +3 -0
  655. package/dist/operations/catalogue/warp.d.ts.map +1 -0
  656. package/dist/operations/catalogue/warp.js +73 -0
  657. package/dist/operations/catalogue/whoosh.d.ts +3 -0
  658. package/dist/operations/catalogue/whoosh.d.ts.map +1 -0
  659. package/dist/operations/catalogue/whoosh.js +84 -0
  660. package/dist/operations/catalogue/wobble.d.ts +3 -0
  661. package/dist/operations/catalogue/wobble.d.ts.map +1 -0
  662. package/dist/operations/catalogue/wobble.js +23 -0
  663. package/dist/operations/clipPreview.d.ts +3 -0
  664. package/dist/operations/clipPreview.d.ts.map +1 -0
  665. package/dist/operations/clipPreview.js +20 -0
  666. package/dist/operations/groupFanout.d.ts +96 -0
  667. package/dist/operations/groupFanout.d.ts.map +1 -0
  668. package/dist/operations/groupFanout.js +365 -0
  669. package/dist/operations/groups.d.ts +20 -0
  670. package/dist/operations/groups.d.ts.map +1 -0
  671. package/dist/operations/groups.js +66 -0
  672. package/dist/operations/index.d.ts +5 -2
  673. package/dist/operations/index.d.ts.map +1 -1
  674. package/dist/operations/index.js +5 -2
  675. package/dist/operations/objectEffects.d.ts +161 -6
  676. package/dist/operations/objectEffects.d.ts.map +1 -1
  677. package/dist/operations/objectEffects.js +1091 -17
  678. package/dist/operations/registry.d.ts.map +1 -1
  679. package/dist/operations/registry.js +24 -2
  680. package/dist/operations/runtime.d.ts +57 -2
  681. package/dist/operations/runtime.d.ts.map +1 -1
  682. package/dist/operations/runtime.js +161 -18
  683. package/dist/operations/types.d.ts +60 -3
  684. package/dist/operations/types.d.ts.map +1 -1
  685. package/dist/operations/types.js +5 -1
  686. package/dist/operations/useObjectEffectLayers.d.ts +2 -2
  687. package/dist/operations/useObjectEffectLayers.d.ts.map +1 -1
  688. package/dist/operations/useObjectEffectLayers.js +31 -10
  689. package/dist/operations/usePresentedVisibility.d.ts +10 -0
  690. package/dist/operations/usePresentedVisibility.d.ts.map +1 -0
  691. package/dist/operations/usePresentedVisibility.js +53 -0
  692. package/dist/presets/terrainBiomes.d.ts +67 -0
  693. package/dist/presets/terrainBiomes.d.ts.map +1 -0
  694. package/dist/presets/terrainBiomes.js +294 -0
  695. package/dist/presets/terrainPresets.d.ts +6 -0
  696. package/dist/presets/terrainPresets.d.ts.map +1 -1
  697. package/dist/presets/terrainPresets.js +26 -38
  698. package/dist/shaders/glsl/oceanCore.glsl.d.ts +2 -2
  699. package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -1
  700. package/dist/shaders/glsl/oceanCore.glsl.js +17 -0
  701. package/dist/shaders/glsl/surfaceCore.glsl.d.ts +21 -0
  702. package/dist/shaders/glsl/surfaceCore.glsl.d.ts.map +1 -0
  703. package/dist/shaders/glsl/surfaceCore.glsl.js +120 -0
  704. package/dist/shaders/glsl/terrainCore.glsl.d.ts +16 -3
  705. package/dist/shaders/glsl/terrainCore.glsl.d.ts.map +1 -1
  706. package/dist/shaders/glsl/terrainCore.glsl.js +266 -20
  707. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +2 -0
  708. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -1
  709. package/dist/shaders/ocean/OceanSurfaceMaterial.js +3 -0
  710. package/dist/shaders/terrain/TerrainMaterial.d.ts +17 -0
  711. package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -1
  712. package/dist/shaders/terrain/TerrainMaterial.js +107 -8
  713. package/dist/triggers/engine.d.ts +44 -0
  714. package/dist/triggers/engine.d.ts.map +1 -0
  715. package/dist/triggers/engine.js +168 -0
  716. package/dist/triggers/hosts/actions.d.ts +8 -0
  717. package/dist/triggers/hosts/actions.d.ts.map +1 -0
  718. package/dist/triggers/hosts/actions.js +22 -0
  719. package/dist/triggers/hosts/interactions.d.ts +6 -0
  720. package/dist/triggers/hosts/interactions.d.ts.map +1 -0
  721. package/dist/triggers/hosts/interactions.js +4 -0
  722. package/dist/triggers/hosts/timelineCues.d.ts +2 -0
  723. package/dist/triggers/hosts/timelineCues.d.ts.map +1 -0
  724. package/dist/triggers/hosts/timelineCues.js +22 -0
  725. package/dist/triggers/index.d.ts +13 -0
  726. package/dist/triggers/index.d.ts.map +1 -0
  727. package/dist/triggers/index.js +9 -0
  728. package/dist/triggers/kinds/action.d.ts +2 -0
  729. package/dist/triggers/kinds/action.d.ts.map +1 -0
  730. package/dist/triggers/kinds/action.js +31 -0
  731. package/dist/triggers/kinds/animations.d.ts +2 -0
  732. package/dist/triggers/kinds/animations.d.ts.map +1 -0
  733. package/dist/triggers/kinds/animations.js +75 -0
  734. package/dist/triggers/kinds/effects.d.ts +2 -0
  735. package/dist/triggers/kinds/effects.d.ts.map +1 -0
  736. package/dist/triggers/kinds/effects.js +27 -0
  737. package/dist/triggers/kinds/index.d.ts +4 -0
  738. package/dist/triggers/kinds/index.d.ts.map +1 -0
  739. package/dist/triggers/kinds/index.js +4 -0
  740. package/dist/triggers/log.d.ts +21 -0
  741. package/dist/triggers/log.d.ts.map +1 -0
  742. package/dist/triggers/log.js +43 -0
  743. package/dist/triggers/readiness.d.ts +40 -0
  744. package/dist/triggers/readiness.d.ts.map +1 -0
  745. package/dist/triggers/readiness.js +158 -0
  746. package/dist/triggers/registry.d.ts +41 -0
  747. package/dist/triggers/registry.d.ts.map +1 -0
  748. package/dist/triggers/registry.js +7 -0
  749. package/dist/types/gridConfigs.d.ts +18 -23
  750. package/dist/types/gridConfigs.d.ts.map +1 -1
  751. package/dist/ui/UiAnchorUpdater.d.ts +10 -0
  752. package/dist/ui/UiAnchorUpdater.d.ts.map +1 -0
  753. package/dist/ui/UiAnchorUpdater.js +111 -0
  754. package/dist/ui/UiLayers.d.ts +20 -0
  755. package/dist/ui/UiLayers.d.ts.map +1 -0
  756. package/dist/ui/UiLayers.js +57 -0
  757. package/dist/ui/index.d.ts +9 -0
  758. package/dist/ui/index.d.ts.map +1 -0
  759. package/dist/ui/index.js +6 -0
  760. package/dist/ui/uiAnchors.d.ts +21 -0
  761. package/dist/ui/uiAnchors.d.ts.map +1 -0
  762. package/dist/ui/uiAnchors.js +22 -0
  763. package/dist/ui/uiBaseStyles.d.ts +2 -0
  764. package/dist/ui/uiBaseStyles.d.ts.map +1 -0
  765. package/dist/ui/uiBaseStyles.js +100 -0
  766. package/dist/ui/uiBinder.d.ts +30 -0
  767. package/dist/ui/uiBinder.d.ts.map +1 -0
  768. package/dist/ui/uiBinder.js +344 -0
  769. package/dist/utils/configAnimations.d.ts.map +1 -1
  770. package/dist/utils/configAnimations.js +5 -1
  771. package/dist/utils/gridConfig.d.ts +1 -1
  772. package/dist/utils/gridConfig.d.ts.map +1 -1
  773. package/dist/utils/gridConfig.js +1 -1
  774. package/dist/utils/landPatch.d.ts +33 -0
  775. package/dist/utils/landPatch.d.ts.map +1 -0
  776. package/dist/utils/landPatch.js +114 -0
  777. package/dist/utils/pickProxy.d.ts +11 -0
  778. package/dist/utils/pickProxy.d.ts.map +1 -0
  779. package/dist/utils/pickProxy.js +36 -0
  780. package/dist/utils/renderedSky.d.ts +32 -0
  781. package/dist/utils/renderedSky.d.ts.map +1 -0
  782. package/dist/utils/renderedSky.js +57 -0
  783. package/dist/utils/shapes.d.ts +4 -0
  784. package/dist/utils/shapes.d.ts.map +1 -1
  785. package/dist/utils/shapes.js +4 -1
  786. package/dist/utils/skyMoon.d.ts +35 -0
  787. package/dist/utils/skyMoon.d.ts.map +1 -0
  788. package/dist/utils/skyMoon.js +41 -0
  789. package/dist/utils/terrainHeight.d.ts +4 -0
  790. package/dist/utils/terrainHeight.d.ts.map +1 -0
  791. package/dist/utils/terrainHeight.js +150 -0
  792. package/dist/utils/terrainTextureResolver.d.ts +18 -0
  793. package/dist/utils/terrainTextureResolver.d.ts.map +1 -0
  794. package/dist/utils/terrainTextureResolver.js +17 -0
  795. package/dist/utils/terrainUniforms.d.ts +17 -0
  796. package/dist/utils/terrainUniforms.d.ts.map +1 -1
  797. package/dist/utils/terrainUniforms.js +84 -0
  798. package/dist/utils/textShape.d.ts +24 -0
  799. package/dist/utils/textShape.d.ts.map +1 -0
  800. package/dist/utils/textShape.js +102 -0
  801. package/dist/utils/textureArrays.d.ts +29 -0
  802. package/dist/utils/textureArrays.d.ts.map +1 -0
  803. package/dist/utils/textureArrays.js +140 -0
  804. package/package.json +2 -2
@@ -0,0 +1,74 @@
1
+ // Leaf fall — the object is light as a leaf. A gust lifts it and carries it off
2
+ // downwind, gliding side to side the way a falling plate does: it swings across
3
+ // the wind, rocks like a pendulum (most tilted at the ends of each swing, where
4
+ // it turns), tips over a little at each turn and slowly yaws — growing smaller
5
+ // as the wind takes it. The way back is a leaf settling: it flutters down from
6
+ // above, the swings and the rocking dying away, and touches down softly.
7
+ import { Quaternion, Vector3 } from 'three';
8
+ import { clamp01, physicalExit, smooth } from './physicalExit.js';
9
+ const _r = new Quaternion(), _p = new Quaternion(), _y = new Quaternion();
10
+ const _wind = new Vector3(), _across = new Vector3();
11
+ function axes(f, wind) {
12
+ if (wind === 'left')
13
+ _wind.copy(f.right).negate();
14
+ else if (wind === 'away')
15
+ _wind.copy(f.toward).negate();
16
+ else
17
+ _wind.copy(f.right);
18
+ _across.crossVectors(f.up, _wind).normalize(); // horizontal, across the wind
19
+ }
20
+ /** Rock about the wind (roll), tip over at the turns (pitch, about `across`), yaw slowly. */
21
+ function attitude(out, a, roll, pitch, yaw) {
22
+ _r.setFromAxisAngle(_wind, roll);
23
+ _p.setFromAxisAngle(_across, pitch);
24
+ _y.setFromAxisAngle(a.frame.up, yaw);
25
+ out.q.copy(a.local(_r.multiply(_p).multiply(_y)));
26
+ }
27
+ export default physicalExit({
28
+ value: 'leafFall',
29
+ label: 'Leaf fall',
30
+ description: 'A gust lifts it and carries it away, gliding side to side and rocking like a falling leaf — it comes back fluttering down and settles softly',
31
+ params: {
32
+ wind: {
33
+ type: 'select', label: 'Wind', default: 'right', options: [
34
+ { value: 'right', label: 'To the right' }, { value: 'left', label: 'To the left' }, { value: 'away', label: 'Away' },
35
+ ], hint: 'Screen-relative when it starts',
36
+ },
37
+ swings: { type: 'number', label: 'Swings', default: 3, min: 1, max: 8, step: 0.5, hint: 'Side-to-side glides on the way' },
38
+ rock: { type: 'number', label: 'Rock', default: 32, min: 0, max: 75, step: 1, unit: '°', hint: 'How far it tilts at the end of a swing' },
39
+ drift: { type: 'number', label: 'Drift', default: 4, min: 0.5, max: 15, step: 0.25, hint: 'How far the wind carries it, × its size' },
40
+ duration: { type: 'number', label: 'Duration', default: 3.2, min: 0.6, max: 12, step: 0.05, unit: 's' },
41
+ },
42
+ exit(u, out, a) {
43
+ const p = a.p, H = a.size.y, span = a.span;
44
+ axes(a.frame, p.wind);
45
+ const n = Number(p.swings), rock = Number(p.rock) * Math.PI / 180;
46
+ const e = smooth(0, 0.18, u); // the gust takes hold
47
+ const ph = 2 * Math.PI * n * u;
48
+ const glide = Math.sin(ph); // −1..1 across the wind
49
+ const carry = Number(p.drift) * span * Math.pow(u, 1.7); // the wind picks it up and speeds it on
50
+ const lift = H * (0.75 * smooth(0, 0.45, u) - 0.3 * smooth(0.45, 1, u));
51
+ out.off.set(0, 0, 0)
52
+ .addScaledVector(_wind, carry)
53
+ .addScaledVector(_across, 0.45 * span * glide * e)
54
+ .addScaledVector(a.frame.up, lift);
55
+ // tilted most at the ends of a swing; tips over a little where it turns
56
+ attitude(out, a, -rock * glide * e, 0.35 * rock * Math.sin(2 * ph) * e, 0.7 * Math.PI * u * u);
57
+ out.s.setScalar(1 - smooth(0.5, 1, u));
58
+ },
59
+ enter(v, out, a) {
60
+ const p = a.p, H = a.size.y, span = a.span;
61
+ axes(a.frame, p.wind);
62
+ const n = Number(p.swings), rock = Number(p.rock) * Math.PI / 180;
63
+ const left = 1 - v;
64
+ const ph = 2 * Math.PI * n * v;
65
+ const glide = Math.sin(ph);
66
+ const die = Math.pow(left, 1.3); // the swings die away as it settles
67
+ out.off.set(0, 0, 0)
68
+ .addScaledVector(_wind, -0.8 * span * left * left) // drifts in from upwind
69
+ .addScaledVector(_across, 0.45 * span * glide * die)
70
+ .addScaledVector(a.frame.up, 2.6 * H * Math.pow(left, 1.6)); // slows as it comes down
71
+ attitude(out, a, -rock * glide * die, 0.35 * rock * Math.sin(2 * ph) * die, -0.5 * Math.PI * left * left);
72
+ out.s.setScalar(smooth(0, 0.2, clamp01(v)));
73
+ },
74
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"lidarScan.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/lidarScan.ts"],"names":[],"mappings":";AAuGA,wBAqJG"}
1
+ {"version":3,"file":"lidarScan.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/lidarScan.ts"],"names":[],"mappings":";AAuGA,wBAwJG"}
@@ -14,7 +14,7 @@
14
14
  import { AdditiveBlending, Color, DoubleSide, Mesh, PlaneGeometry, Quaternion, ShaderMaterial, Vector3 } from 'three';
15
15
  import { defineOperation } from '../types.js';
16
16
  import { addLayer, forEachMeshMaterial, removeLayer } from './shaderLayers.js';
17
- import { SWEEP_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, hideMeshes, localBounds, runProgress, setFieldParams, sweepVector, } from './transitionField.js';
17
+ import { SWEEP_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, hideMeshes, localBounds, runProgress, setFieldParams, setReveal, sweepVector, } from './transitionField.js';
18
18
  import { sampleSurfaceCached } from './surfaceSample.js';
19
19
  import { GLSL_POINT_SIZE, createFxPoints, disposeFxPoints } from './fxPoints.js';
20
20
  import { hideUntilWarm } from './warmup.js';
@@ -104,6 +104,7 @@ export default defineOperation({
104
104
  disappear: { type: 'boolean', label: 'Disappear', default: true, hint: 'Off: the object stays in scanned mode — mesh and point cloud' },
105
105
  },
106
106
  objectParams: { disappear: false },
107
+ presence: 'paint',
107
108
  apply(target, p, ctx) {
108
109
  let st = target.userData[STATE];
109
110
  if (!st) {
@@ -167,6 +168,7 @@ export default defineOperation({
167
168
  float a = LdrAlong(vLdrQ);
168
169
  float s1 = ldrFront(0.0), s2 = ldrFront(${MESH.toFixed(2)});
169
170
  if (a < s2) discard; // only the point cloud is left
171
+ if (uLdrReveal > 0.5 && a >= s1) discard; // revealed by the laser: nothing ahead of it
170
172
  float on = step(0.0001, uLdrProgress) * step(uLdrProgress, ${(END - 0.0001).toFixed(4)});
171
173
  if (a < s1) {
172
174
  // the reconstructed mesh: lattice lines only, dimming as it goes
@@ -221,6 +223,7 @@ export default defineOperation({
221
223
  if (!s)
222
224
  return;
223
225
  hideMeshes(target, KEY, false);
226
+ setReveal(s.field, p);
224
227
  s.points.visible = true;
225
228
  const sheetOn = p.sheet !== false;
226
229
  // from a hold it only has part of the way to go: keep the same speed
@@ -1 +1 @@
1
- {"version":3,"file":"liquidMetal.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/liquidMetal.ts"],"names":[],"mappings":";AA6EA,wBA8CG"}
1
+ {"version":3,"file":"liquidMetal.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/liquidMetal.ts"],"names":[],"mappings":";AAgGA,wBAwDG"}
@@ -2,6 +2,9 @@
2
2
  // from the top down and flows out into a puddle on the ground (higher parts
3
3
  // travel further), with slow ripples running across the pool while it lies
4
4
  // there. Reverting pulls it back up into shape and the chrome fades off.
5
+ // With Disappear off (an object effect's default) the object turns to chrome and
6
+ // stays, unmelted: the studio reflection turns slowly, a soft ripple runs over it.
7
+ // The chrome comes in along a front (Direction) so it can paint the object in.
5
8
  //
6
9
  // The chrome is a procedural studio environment (sky gradient, horizon band,
7
10
  // two soft boxes) reflected about the surface normal, so it reads as metal in
@@ -11,22 +14,25 @@ import { gsap } from 'gsap';
11
14
  import { Color } from 'three';
12
15
  import { defineOperation } from '../types.js';
13
16
  import { addLayer, forEachMeshMaterial, removeLayer } from './shaderLayers.js';
14
- import { createFieldState, fieldGlsl, fieldUniforms, runProgress, syncRoot } from './transitionField.js';
17
+ import { DIRECTION_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, runProgress, setFieldParams, setReveal, syncRoot } from './transitionField.js';
15
18
  const P = 'Liq';
16
19
  const KEY = 'liquidMetal';
17
20
  const STATE = '__opLiquid';
21
+ /** The chrome comes in over this much of the progress; the melt runs after it. */
22
+ const CHROME = 0.2;
18
23
  function layerFor(st) {
19
24
  return {
20
- uniforms: { ...fieldUniforms(P, st.field), uLiqTint: st.tint, uLiqSpread: st.spread },
21
- common: `varying float vLiqM;\nvarying vec3 vLiqView;\n${fieldGlsl(P)}`,
25
+ uniforms: { ...fieldUniforms(P, st.field), uLiqTint: st.tint, uLiqSpread: st.spread, uLiqKeep: st.keep },
26
+ common: `varying float vLiqM;\nvarying vec3 vLiqView;\nvarying vec3 vLiqQ;\n${fieldGlsl(P)}`,
22
27
  vertex: /* glsl */ `
23
28
  {
24
29
  mat4 toRoot = uLiqRootInv * modelMatrix;
25
30
  vec3 rl = (toRoot * vec4(transformed, 1.0)).xyz;
26
31
  vec3 q = LiqNorm(rl);
32
+ vLiqQ = q;
27
33
  float E = uLiqExtent;
28
- // melt runs after the chrome has come in; the top gives way first
29
- float mp = clamp((uLiqProgress - 0.18) / 0.82, 0.0, 1.0);
34
+ // melt runs after the chrome has come in; the top gives way first (never in keep)
35
+ float mp = clamp((uLiqProgress - 0.18) / 0.82, 0.0, 1.0) * (1.0 - uLiqKeep);
30
36
  float wob = 0.12 * (fxNoise(q * 4.0) - 0.5);
31
37
  float m = clamp(mp * 1.3 - (1.0 - q.y) * 0.3 + wob, 0.0, 1.0);
32
38
  m = m * m; // slow start: it sags before it runs
@@ -48,7 +54,13 @@ function layerFor(st) {
48
54
  }`,
49
55
  fragment: /* glsl */ `
50
56
  {
51
- float chrome = smoothstep(0.0, 0.2, uLiqProgress);
57
+ // the chrome comes in along a front over the first part of the progress
58
+ float tc = clamp(uLiqProgress / ${CHROME}, 0.0, 1.0) * (1.0 + 2.0 * uLiqEdgeWidth) - uLiqEdgeWidth;
59
+ float d = LiqField(vLiqQ) - tc;
60
+ float chrome = smoothstep(0.0, 0.08, -d);
61
+ // painting the object in: nothing ahead of the front, full chrome right behind it
62
+ if (uLiqReveal > 0.5) { if (d > 0.0) discard; chrome = 1.0; }
63
+ float held = uLiqKeep * step(0.9999, uLiqProgress);
52
64
  vec3 nv = normalize(cross(dFdx(vLiqView), dFdy(vLiqView)));
53
65
  #if defined( STANDARD ) || defined( PHONG ) || defined( LAMBERT ) || defined( TOON )
54
66
  vec3 n = normalize(mix(normal, nv, smoothstep(0.05, 0.5, vLiqM)));
@@ -56,8 +68,12 @@ function layerFor(st) {
56
68
  vec3 n = nv;
57
69
  #endif
58
70
  vec3 v = normalize(vLiqView);
71
+ // holding as chrome: a soft ripple runs over the surface, the studio turns slowly
72
+ n = normalize(n + held * 0.04 * vec3(sin(vLiqQ.y * 22.0 - uLiqTime * 1.6), 0.0, cos(vLiqQ.x * 19.0 - uLiqTime * 1.3)));
59
73
  vec3 rv = reflect(v, n);
60
74
  vec3 rw = normalize((vec4(rv, 0.0) * viewMatrix).xyz); // view → world direction
75
+ float ra = held * uLiqTime * 0.25;
76
+ rw = vec3(rw.x * cos(ra) - rw.z * sin(ra), rw.y, rw.x * sin(ra) + rw.z * cos(ra));
61
77
  // studio: dark floor, bright sky, a crisp horizon band and two soft boxes
62
78
  float up = rw.y;
63
79
  vec3 env = mix(vec3(0.05), vec3(0.85, 0.9, 1.0), smoothstep(-0.15, 0.6, up));
@@ -66,6 +82,8 @@ function layerFor(st) {
66
82
  env += vec3(1.2) * smoothstep(0.9, 0.98, dot(rw, normalize(vec3(-0.7, 0.35, -0.3))));
67
83
  float fres = 0.65 + 0.35 * pow(1.0 - abs(dot(n, -v)), 3.0);
68
84
  vec3 metal = uLiqTint * env * fres;
85
+ // a bright lip right at the front
86
+ metal *= 1.0 + 1.5 * (1.0 - smoothstep(0.0, 0.05, abs(d))) * step(0.0001, uLiqProgress) * step(uLiqProgress, ${CHROME} - 0.0001);
69
87
  outgoingLight = mix(outgoingLight, metal, chrome);
70
88
  }`,
71
89
  };
@@ -73,21 +91,26 @@ function layerFor(st) {
73
91
  export default defineOperation({
74
92
  value: 'liquidMetal',
75
93
  label: 'Liquid metal',
76
- description: 'Turn the targets to chrome and melt them into a rippling pool — reverting pulls them back into shape',
94
+ description: 'Turn the targets to chrome and melt them into a rippling pool (or, Disappear off, keep them as chrome) — reverting pulls them back into shape',
77
95
  channel: 'visual',
78
96
  multi: true,
79
97
  toggles: true,
80
- usableIn: ['interaction', 'action'],
98
+ usableIn: ['interaction', 'action', 'object'],
99
+ objectParams: { disappear: false },
100
+ presence: 'paint',
81
101
  params: {
102
+ direction: { type: 'select', label: 'Direction', default: 'up', options: DIRECTION_OPTIONS, hint: 'How the chrome comes in' },
82
103
  tint: { type: 'color', label: 'Metal', default: '#dfe7ee' },
83
- spread: { type: 'number', label: 'Pool size', default: 1, min: 0.2, max: 3, step: 0.05, unit: '×' },
104
+ disappear: { type: 'boolean', label: 'Disappear', default: true, hint: 'Off: the object turns to chrome and stays' },
105
+ spread: { type: 'number', label: 'Pool size', default: 1, min: 0.2, max: 3, step: 0.05, unit: '×', showWhen: { disappear: ['true'] } },
84
106
  duration: { type: 'number', label: 'Duration', default: 3.4, min: 0.3, max: 12, step: 0.1, unit: 's' },
85
107
  },
86
- apply(target, p) {
108
+ apply(target, p, ctx) {
87
109
  let st = target.userData[STATE];
88
110
  if (!st) {
89
111
  const field = createFieldState(target);
90
- const own = { field, tint: { value: new Color() }, spread: { value: 1 }, mats: new Set() };
112
+ field.edgeWidth.value = 0.04;
113
+ const own = { field, tint: { value: new Color() }, spread: { value: 1 }, keep: { value: 0 }, mats: new Set() };
91
114
  // ripples keep moving while it lies melted
92
115
  own.tick = () => { own.field.time.value += gsap.ticker.deltaRatio() / 60; syncRoot(target, own.field); };
93
116
  const layer = layerFor(own);
@@ -102,16 +125,22 @@ export default defineOperation({
102
125
  target.userData[STATE] = st;
103
126
  }
104
127
  const s = st;
128
+ setFieldParams(s.field, p, target, ctx);
105
129
  s.tint.value.set(String(p.tint));
106
130
  s.spread.value = Number(p.spread);
131
+ s.keep.value = p.disappear === false ? 1 : 0;
132
+ // keep: only the chrome comes in (the melt is off), then it holds — its own ticker keeps the time running
133
+ if (s.keep.value)
134
+ return runProgress(target, s.field, 1, { duration: Number(p.duration) * CHROME * 1.5, ease: 'none', clock: false });
107
135
  return runProgress(target, s.field, 1, { duration: Number(p.duration), ease: 'power1.inOut', clock: false });
108
136
  },
109
137
  revert(target, p) {
110
138
  const s = target.userData[STATE];
111
139
  if (!s)
112
140
  return;
141
+ setReveal(s.field, p);
113
142
  return runProgress(target, s.field, 0, {
114
- duration: Number(p.duration), ease: 'power1.inOut', clock: false,
143
+ duration: Number(p.duration) * (s.keep.value ? CHROME * 1.5 : 1) * Math.min(1, Math.max(0.1, s.field.progress.value)), ease: s.keep.value ? 'none' : 'power1.inOut', clock: false,
115
144
  onComplete: () => {
116
145
  gsap.ticker.remove(s.tick);
117
146
  s.mats.forEach(m => removeLayer(m, KEY));
@@ -1 +1 @@
1
- {"version":3,"file":"metalize.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/metalize.ts"],"names":[],"mappings":";AA8EA,wBA4DG"}
1
+ {"version":3,"file":"metalize.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/metalize.ts"],"names":[],"mappings":";AAiFA,wBA+DG"}
@@ -11,7 +11,7 @@
11
11
  import { Color } from 'three';
12
12
  import { defineOperation } from '../types.js';
13
13
  import { addLayer, forEachMeshMaterial, removeLayer } from './shaderLayers.js';
14
- import { DIRECTION_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, runProgress, setFieldParams } from './transitionField.js';
14
+ import { DIRECTION_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, goneGlsl, runProgress, setFieldParams, setReveal } from './transitionField.js';
15
15
  const P = 'Mtl';
16
16
  const KEY = 'metalize';
17
17
  const STATE = '__opMetalize';
@@ -24,7 +24,7 @@ const DEFAULT_CUSTOM = '#9fd0ff';
24
24
  function layerFor(st) {
25
25
  return {
26
26
  uniforms: { ...fieldUniforms(P, st.field), uMtlTint: st.tint, uMtlRough: st.rough, uMtlIrid: st.irid, uMtlLip: st.lip, uMtlCool: st.cool },
27
- common: `varying vec3 vMtlQ;\nvarying vec3 vMtlR;\nvarying vec3 vMtlView;\n${fieldGlsl(P)}`,
27
+ common: `varying vec3 vMtlQ;\nvarying vec3 vMtlR;\nvarying vec3 vMtlView;\n${fieldGlsl(P)}\n${goneGlsl(P)}`,
28
28
  vertex: /* glsl */ `
29
29
  vMtlR = (uMtlRootInv * modelMatrix * vec4(transformed, 1.0)).xyz;
30
30
  vMtlQ = MtlNorm(vMtlR);
@@ -33,6 +33,9 @@ function layerFor(st) {
33
33
  {
34
34
  float d = MtlThreshold() - MtlField(vMtlQ); // > 0 behind the front
35
35
  float m = smoothstep(0.0, uMtlEdgeWidth, d);
36
+ // revealed by the metal: nothing ahead of the front, full metal right behind it
37
+ if (uMtlReveal > 0.5) { if (d < 0.0) discard; m = 1.0; }
38
+ if (MtlGone(vMtlQ) > 0.5) { m = 0.0; d = -1.0; } // wiped by the look that replaces it
36
39
  if (m > 0.0 || d > -0.05) {
37
40
  vec3 nv = normalize(cross(dFdx(vMtlView), dFdy(vMtlView)));
38
41
  #if defined( STANDARD ) || defined( PHONG ) || defined( LAMBERT ) || defined( TOON )
@@ -77,6 +80,8 @@ export default defineOperation({
77
80
  multi: true,
78
81
  toggles: true,
79
82
  usableIn: ['interaction', 'action', 'object'],
83
+ presence: 'paint',
84
+ field: (target) => target.userData[STATE]?.field,
80
85
  stack: 'surface',
81
86
  params: {
82
87
  metal: {
@@ -127,6 +132,7 @@ export default defineOperation({
127
132
  const s = target.userData[STATE];
128
133
  if (!s)
129
134
  return;
135
+ setReveal(s.field, p);
130
136
  return runProgress(target, s.field, 0, {
131
137
  duration: Number(p.duration), ease: 'power1.inOut',
132
138
  onComplete: () => { s.mats.forEach(m => removeLayer(m, KEY)); delete target.userData[STATE]; },
@@ -0,0 +1,6 @@
1
+ import type { OperationDefinition } from '../types';
2
+ /** Sample and draw every trail now (the ticker does this every frame; tests stepping time call it by hand). */
3
+ export declare function tickTrails(): void;
4
+ /** Every trail, in gallery order. */
5
+ export declare const TRAILS: OperationDefinition[];
6
+ //# sourceMappingURL=motionTrail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionTrail.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/motionTrail.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,mBAAmB,EAAsB,MAAM,UAAU,CAAC;AAOxE,+GAA+G;AAC/G,wBAAgB,UAAU,SAAiB;AA4I3C,qCAAqC;AACrC,eAAO,MAAM,MAAM,EAAE,mBAAmB,EA6BvC,CAAC"}
@@ -0,0 +1,221 @@
1
+ // Motion trails — add-ons that draw where the object has just been, whatever moves it:
2
+ // physical effects, clips, held motions, a drag in the studio. A trail watches the
3
+ // object's own world transform (trailCore: a short history, smoothed velocity and
4
+ // acceleration, sampled every frame on gsap's clock) — no other effect knows about it.
5
+ //
6
+ // One effect per style, all on this one engine and ONE settings API (the agent and the
7
+ // studio see the same shape for every trail):
8
+ // length · amount · size · opacity (Strength) · color · color2 (· color3) · duration (Fade)
9
+ // Length is how long it lasts, Amount how much of it, Size how big — each style scales
10
+ // them; the colours mean "main" and "what it turns / fades into" in every style.
11
+ // Each trail keeps its own state (`__opTrail_<style>`), so trails combine on one object.
12
+ //
13
+ // afterimageTrail fading Fresnel copies of the object along its path trailGhosts
14
+ // longExposureTrail a dense smear of faint copies — a long-exposure photo trailGhosts
15
+ // chromaticEchoTrail red / green / blue copies a beat apart: fringe → white trailGhosts
16
+ // streaksTrail crisp light ribbons from points spread over its surface trailStreaks
17
+ // Stamp trails — copies of the object left where it was, each turning into something
18
+ // and going away in place (trailStamps.ts + trailStampStyles.ts):
19
+ // smoke, ash, hologram, ink, frost (its own meshes, new shaders)
20
+ // sand (surface grains), voxel (cubes), shatter (its triangles as Voronoi shards),
21
+ // wireframe (its real edges), bubbles
22
+ //
23
+ // Everything lives in the SCENE (not under the object): an exit hides the object and
24
+ // the trail must keep going after it is gone. Built, compiled in the background
25
+ // (hideUntilWarm / warmHelpers), then faded in; switched off it fades out, waits for
26
+ // particles still in flight to finish, and is removed.
27
+ import { gsap } from 'gsap';
28
+ import { Color, Group, Matrix4, Vector3 } from 'three';
29
+ import { defineOperation } from '../types.js';
30
+ import { hideUntilWarm, warmHelpers, warmMode } from './warmup.js';
31
+ import { cameraPos, measure, newHistory, record } from './trailCore.js';
32
+ import { afterimage, chromaticEcho, longExposure } from './trailGhosts.js';
33
+ import { streaks } from './trailStreaks.js';
34
+ import { ash, bubbles, frost, hologram, ink, sand, shatter, smoke, voxel, wireframe } from './trailStampStyles.js';
35
+ // one ticker for every trail; time is gsap's own clock (follows the global time scale)
36
+ const active = new Set();
37
+ const tickAll = () => active.forEach(t => t());
38
+ /** Sample and draw every trail now (the ticker does this every frame; tests stepping time call it by hand). */
39
+ export function tickTrails() { tickAll(); }
40
+ const clock = () => gsap.globalTimeline.time();
41
+ function paramsOf(style, p, prev) {
42
+ // colour settings are sRGB hex; Color converts them to the linear working space
43
+ const col = (v, old) => (old ?? new Color()).set(String(v));
44
+ return {
45
+ style,
46
+ length: Number(p.length),
47
+ amount: Number(p.amount),
48
+ size: Number(p.size),
49
+ opacity: Number(p.opacity),
50
+ color: col(p.color, prev?.color), color2: col(p.color2, prev?.color2), color3: col(p.color3 ?? p.color2, prev?.color3),
51
+ };
52
+ }
53
+ /** What a trail is built for — a change here rebuilds it (the others apply live). */
54
+ const shapeKey = (p) => `${Math.round(Number(p.amount) * 20)}`;
55
+ function build(KEY, styleName, style, target, p) {
56
+ const group = new Group();
57
+ group.name = `trail:${styleName}`;
58
+ group.userData.__opFxHelper = true;
59
+ group.matrixAutoUpdate = false;
60
+ let root = target;
61
+ while (root.parent)
62
+ root = root.parent;
63
+ root.add(group);
64
+ const { span, floor } = measure(target);
65
+ const ctx = {
66
+ target, group, env: { v: 0 }, p: paramsOf(styleName, p), span, floor,
67
+ hist: newHistory(), head: 0, count: 0, now: clock(), dt: 0,
68
+ vel: new Vector3(), acc: new Vector3(), speed: 0, world: new Matrix4(), cam: null,
69
+ };
70
+ style.build(ctx);
71
+ hideUntilWarm(group);
72
+ const camAt = new Vector3();
73
+ const st = { ctx, style, shape: shapeKey(p), tick: () => undefined };
74
+ st.tick = () => {
75
+ if (!target.parent) {
76
+ dispose(KEY, target);
77
+ return;
78
+ } // the object left the scene
79
+ ctx.cam = cameraPos(camAt);
80
+ record(ctx, clock());
81
+ style.update(ctx);
82
+ };
83
+ return st;
84
+ }
85
+ function dispose(KEY, target) {
86
+ const st = target.userData[KEY];
87
+ if (!st)
88
+ return;
89
+ active.delete(st.tick);
90
+ if (!active.size)
91
+ gsap.ticker.remove(tickAll);
92
+ gsap.killTweensOf(st.ctx.env);
93
+ st.resolve?.();
94
+ st.style.dispose?.(st.ctx);
95
+ st.ctx.group.removeFromParent();
96
+ delete target.userData[KEY];
97
+ }
98
+ /** Resolves once the style has nothing left in flight (or after `max` seconds). */
99
+ function settled(st, max) {
100
+ return new Promise(resolve => {
101
+ const t0 = performance.now();
102
+ const check = () => {
103
+ if (!st.style.alive?.(st.ctx) || performance.now() - t0 > max * 1000) {
104
+ gsap.ticker.remove(check);
105
+ resolve();
106
+ }
107
+ };
108
+ gsap.ticker.add(check);
109
+ });
110
+ }
111
+ /** One trail effect: a style on the shared engine, with the shared settings. */
112
+ function trail(spec) {
113
+ const KEY = `__opTrail_${spec.style}`;
114
+ const value = `${spec.style}Trail`;
115
+ const c = (s) => ({ type: 'color', label: s.label, default: s.default, ...(s.hint ? { hint: s.hint } : {}) });
116
+ return defineOperation({
117
+ value, label: spec.label,
118
+ description: `${spec.description} — wherever the object moves (physical effects, clips, a drag); nothing while it stands still. Combines with other trails`,
119
+ channel: 'visual',
120
+ multi: true,
121
+ toggles: true,
122
+ usableIn: ['interaction', 'action', 'object'],
123
+ addOn: true, // on before an entrance, off after an exit (Follows visibility)
124
+ params: {
125
+ length: { type: 'number', label: 'Length', default: 0.35, min: 0.05, max: 2, step: 0.01, unit: 's', hint: 'How long the trail lasts' },
126
+ amount: { type: 'number', label: 'Amount', default: 0.35, min: 0, max: 1, step: 0.01, hint: 'How much of it — copies, ribbons, grains' },
127
+ size: { type: 'number', label: 'Size', default: 0.35, min: 0, max: 1, step: 0.01, hint: 'Width, grain size, how far it spreads' },
128
+ opacity: { type: 'number', label: 'Strength', default: 0.7, min: 0.05, max: 2, step: 0.05 },
129
+ color: c(spec.color),
130
+ color2: c(spec.color2),
131
+ ...(spec.color3 ? { color3: c(spec.color3) } : {}),
132
+ duration: { type: 'number', label: 'Fade', default: 0.35, min: 0, max: 3, step: 0.05, unit: 's', hint: 'How long it takes to switch on and off' },
133
+ },
134
+ apply(target, p) {
135
+ let st = target.userData[KEY];
136
+ if (st && st.shape !== shapeKey(p)) {
137
+ dispose(KEY, target);
138
+ st = undefined;
139
+ } // a different build: made again
140
+ if (!st) {
141
+ st = build(KEY, spec.style, spec.impl, target, p);
142
+ target.userData[KEY] = st;
143
+ if (!active.size)
144
+ gsap.ticker.add(tickAll);
145
+ active.add(st.tick);
146
+ }
147
+ const s = st;
148
+ s.ending = false;
149
+ s.ctx.p = paramsOf(spec.style, p, s.ctx.p);
150
+ const ready = warmHelpers(s.ctx.group);
151
+ if (warmMode.on)
152
+ return ready; // a warm-only run: compiled, nothing shown
153
+ return ready.then(() => new Promise(resolve => {
154
+ gsap.killTweensOf(s.ctx.env);
155
+ s.resolve?.();
156
+ s.resolve = resolve;
157
+ const D = Number(p.duration) * (1 - s.ctx.env.v);
158
+ if (D <= 1e-4) {
159
+ s.ctx.env.v = 1;
160
+ s.resolve = undefined;
161
+ resolve();
162
+ return;
163
+ }
164
+ gsap.to(s.ctx.env, { v: 1, duration: D, ease: 'power1.out', onComplete: () => { s.resolve = undefined; resolve(); } });
165
+ }));
166
+ },
167
+ revert(target, p) {
168
+ const st = target.userData[KEY];
169
+ if (!st)
170
+ return;
171
+ gsap.killTweensOf(st.ctx.env);
172
+ st.resolve?.();
173
+ const D = Number(p.duration) * st.ctx.env.v;
174
+ if (D <= 1e-4) {
175
+ dispose(KEY, target);
176
+ return;
177
+ }
178
+ st.ending = true;
179
+ return new Promise(resolve => {
180
+ st.resolve = resolve;
181
+ gsap.to(st.ctx.env, {
182
+ v: 0, duration: D, ease: 'power1.in',
183
+ // particles still in flight finish (up to 4 s), then it is removed — unless switched on again meanwhile
184
+ onComplete: () => { void settled(st, 4).then(() => { if (st.ending && target.userData[KEY] === st)
185
+ dispose(KEY, target); resolve(); }); },
186
+ });
187
+ });
188
+ },
189
+ });
190
+ }
191
+ /** Every trail, in gallery order. */
192
+ export const TRAILS = [
193
+ trail({ style: 'afterimage', impl: afterimage, label: 'Afterimage trail', description: 'Fading glassy copies of the object along its path',
194
+ color: { label: 'Colour', default: '#bfe6ff' }, color2: { label: 'Tail colour', default: '#7d5cff', hint: 'The colour it fades into' } }),
195
+ trail({ style: 'longExposure', impl: longExposure, label: 'Long exposure', description: 'A dense smear of faint copies, like a long-exposure photo',
196
+ color: { label: 'Colour', default: '#bfe6ff' }, color2: { label: 'Tail colour', default: '#7d5cff', hint: 'The colour it fades into' } }),
197
+ trail({ style: 'chromaticEcho', impl: chromaticEcho, label: 'Chromatic echo', description: 'Three coloured copies a beat apart — a fringe that adds up to white',
198
+ color: { label: 'First echo', default: '#ff2b1c', hint: 'Three colours that add up to white' }, color2: { label: 'Second echo', default: '#22ff4e' }, color3: { label: 'Third echo', default: '#2b5cff' } }),
199
+ trail({ style: 'streaks', impl: streaks, label: 'Light streaks', description: 'Crisp light ribbons drawn from points over its surface',
200
+ color: { label: 'Colour', default: '#bfe6ff' }, color2: { label: 'Tail colour', default: '#7d5cff', hint: 'The colour it fades into' } }),
201
+ trail({ style: 'smoke', impl: smoke, label: 'Smoke trail', description: 'Copies of the object left behind turn to smoke in its shape, billow up and evaporate',
202
+ color: { label: 'Smoke colour', default: '#e4e8ee', hint: 'Where light falls on it' }, color2: { label: 'Shade colour', default: '#5d6673', hint: 'Its underside' } }),
203
+ trail({ style: 'ash', impl: ash, label: 'Ash trail', description: 'Copies left behind burn from within along a glowing ember front, and are gone',
204
+ color: { label: 'Ash colour', default: '#8d8a86' }, color2: { label: 'Ember colour', default: '#ff7a1f', hint: 'The glowing front' } }),
205
+ trail({ style: 'sand', impl: sand, label: 'Sand trail', description: 'Copies left behind fall apart into grains that pour down into a little heap',
206
+ color: { label: 'Sand colour', default: '#dcc59c' }, color2: { label: 'Dark grains', default: '#8a6f4a', hint: 'Grains vary between the two' } }),
207
+ trail({ style: 'hologram', impl: hologram, label: 'Hologram trail', description: 'Copies left behind as holograms that glitch out band by band',
208
+ color: { label: 'Hologram colour', default: '#45dcff' }, color2: { label: 'Grid colour', default: '#e6fbff', hint: 'Grid lines and the rim' } }),
209
+ trail({ style: 'voxel', impl: voxel, label: 'Voxel trail', description: 'Copies left behind as cubes that drop from the top, tumble and shrink away',
210
+ color: { label: 'Voxel colour', default: '#7cc4ff' }, color2: { label: 'Edge colour', default: '#f2f9ff' } }),
211
+ trail({ style: 'shatter', impl: shatter, label: 'Shatter trail', description: 'Copies left behind cut into glass shards from its own triangles, drifting apart',
212
+ color: { label: 'Shard colour', default: '#b9d6ff' }, color2: { label: 'Rim colour', default: '#ffffff', hint: 'The light along its edges' } }),
213
+ trail({ style: 'ink', impl: ink, label: 'Ink trail', description: 'Copies left behind swirl into ink in water and tear into filaments',
214
+ color: { label: 'Ink colour', default: '#1b2c80' }, color2: { label: 'Bleed colour', default: '#8fb0ff', hint: 'Where it thins out' } }),
215
+ trail({ style: 'frost', impl: frost, label: 'Frost trail', description: 'Copies left behind frost over, crack open and melt away',
216
+ color: { label: 'Ice colour', default: '#cdeeff' }, color2: { label: 'Rim colour', default: '#ffffff', hint: 'Its rim and cracks' } }),
217
+ trail({ style: 'wireframe', impl: wireframe, label: 'Wireframe trail', description: 'Copies left behind as its real mesh edges, each retracting into its middle',
218
+ color: { label: 'Wire colour', default: '#7ff0ff' }, color2: { label: 'Fade colour', default: '#7a5cff', hint: 'The colour it ages into' } }),
219
+ trail({ style: 'bubbles', impl: bubbles, label: 'Bubble trail', description: 'Soap bubbles form over copies of it, rise, wobble and pop',
220
+ color: { label: 'Bubble colour', default: '#bfeaff' }, color2: { label: 'Sheen colour', default: '#ff9fd8', hint: 'The soap-film colour sliding over each bubble' } }),
221
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"particleSwarm.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/particleSwarm.ts"],"names":[],"mappings":";AAiCA,wBAsGG"}
1
+ {"version":3,"file":"particleSwarm.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/particleSwarm.ts"],"names":[],"mappings":";AAoCA,wBAwHG"}