@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
@@ -5,10 +5,13 @@
5
5
  // column of light: a soft core that is brightest face-on, fine streaks flowing
6
6
  // upward, and thin rings of light climbing it. Reverting materialises the
7
7
  // object back down the beam.
8
+ // With Disappear off (an object effect's default) the object stays "charged": hot
9
+ // white at the top fading to its own colour below, the beam standing over it with
10
+ // particles cycling up it, nothing leaving.
8
11
  import { AdditiveBlending, Color, CylinderGeometry, Mesh, ShaderMaterial } from 'three';
9
12
  import { defineOperation } from '../types.js';
10
13
  import { GLSL_ROT, addLayer, forEachMeshMaterial, removeLayer } from './shaderLayers.js';
11
- import { DIRECTION_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, hideMeshes, runProgress, setFieldParams, } from './transitionField.js';
14
+ import { DIRECTION_OPTIONS, createFieldState, fieldGlsl, fieldUniforms, hideMeshes, runProgress, setFieldParams, setReveal, } from './transitionField.js';
12
15
  import { sampleSurfaceCached } from './surfaceSample.js';
13
16
  import { GLSL_POINT_SIZE, createFxPoints, disposeFxPoints } from './fxPoints.js';
14
17
  import { hideUntilWarm } from './warmup.js';
@@ -21,14 +24,14 @@ const END = 1 + LIFE * 1.6;
21
24
  const SING = `(u${P}Min + u${P}Size * vec3(0.5, 1.0, 0.5) + vec3(0.0, 0.18 * u${P}Extent, 0.0))`;
22
25
  function surface(st) {
23
26
  return {
24
- uniforms: { ...fieldUniforms(P, st.field), uTelLife: st.life, uTelGlow: st.glow },
27
+ uniforms: { ...fieldUniforms(P, st.field), uTelLife: st.life, uTelGlow: st.glow, uTelKeep: st.keep },
25
28
  common: `varying float vTelK;\nvarying vec3 vTelQ;\n${fieldGlsl(P)}\n${GLSL_ROT}`,
26
29
  vertex: /* glsl */ `
27
30
  {
28
31
  mat4 toRoot = uTelRootInv * modelMatrix;
29
32
  vec3 rl = (toRoot * vec4(transformed, 1.0)).xyz;
30
33
  float birth = TelBirthOf(TelField(TelNorm(rl)));
31
- float k = clamp((uTelProgress - birth) / uTelLife, 0.0, 1.0);
34
+ float k = clamp((uTelProgress - birth) / uTelLife, 0.0, 1.0) * (1.0 - uTelKeep);
32
35
  k = k * k * (3.0 - 2.0 * k);
33
36
  vTelK = k;
34
37
  vTelQ = TelNorm(rl);
@@ -41,10 +44,21 @@ function surface(st) {
41
44
  }`,
42
45
  fragment: /* glsl */ `
43
46
  {
44
- float cut = 0.1 + 0.35 * fxFbm(vTelQ * 7.0);
45
- if (vTelK > cut) discard;
46
- float h = smoothstep(0.0, cut, vTelK);
47
- outgoingLight = mix(outgoingLight, uTelGlow * (1.5 + 3.5 * h), h);
47
+ if (uTelKeep > 0.5) {
48
+ // charged: heat climbs the object — white-hot at the top, its own colour below — and flickers
49
+ float TelD = TelField(vTelQ) - TelThreshold();
50
+ float charged = smoothstep(0.0, uTelEdgeWidth, -TelD);
51
+ // painting the object in: nothing ahead of the front, fully charged right behind it
52
+ if (uTelReveal > 0.5) { if (TelD > 0.0) discard; charged = 1.0; }
53
+ float heat = pow(clamp(vTelQ.y, 0.0, 1.0), 2.6) * (0.85 + 0.15 * sin(uTelTime * 5.0 + fxFbm(vTelQ * 6.0 + uTelTime * 0.4) * 12.0));
54
+ vec3 hot = mix(uTelGlow * 0.9, vec3(2.0), heat) * (0.5 + 1.5 * heat);
55
+ outgoingLight = mix(outgoingLight, hot, charged * (0.12 + 0.88 * heat));
56
+ } else {
57
+ float cut = 0.1 + 0.35 * fxFbm(vTelQ * 7.0);
58
+ if (vTelK > cut) discard;
59
+ float h = smoothstep(0.0, cut, vTelK);
60
+ outgoingLight = mix(outgoingLight, uTelGlow * (1.5 + 3.5 * h), h);
61
+ }
48
62
  }`,
49
63
  };
50
64
  }
@@ -114,13 +128,16 @@ function updateColumn(s) {
114
128
  export default defineOperation({
115
129
  value: 'teleport',
116
130
  label: 'Teleport',
117
- description: 'Draw the targets into a point of light and send them up a beam — reverting brings them back down',
131
+ description: 'Draw the targets into a point of light and send them up a beam (or, Disappear off, keep them charged under the beam) — reverting brings them back down',
118
132
  channel: 'visual',
119
133
  multi: true,
120
134
  toggles: true,
121
- usableIn: ['interaction', 'action'],
135
+ usableIn: ['interaction', 'action', 'object'],
136
+ objectParams: { disappear: false },
137
+ presence: 'paint',
122
138
  params: {
123
139
  direction: { type: 'select', label: 'Direction', default: 'down', options: DIRECTION_OPTIONS },
140
+ disappear: { type: 'boolean', label: 'Disappear', default: true, hint: 'Off: the object stays charged under the beam' },
124
141
  color: { type: 'color', label: 'Light', default: '#a8ecff' },
125
142
  sparks: { type: 'number', label: 'Particles', default: 9000, min: 1000, max: 60000, step: 1000 },
126
143
  beam: { type: 'number', label: 'Beam height', default: 3, min: 0.5, max: 10, step: 0.1, unit: '×' },
@@ -133,15 +150,17 @@ export default defineOperation({
133
150
  if (!st) {
134
151
  const field = createFieldState(target);
135
152
  field.edgeWidth.value = 0.1;
136
- const own = { field, life: { value: LIFE }, glow: { value: new Color() }, beam: { value: 3 }, width: { value: 1 }, mats: new Set() };
153
+ const own = { field, life: { value: LIFE }, glow: { value: new Color() }, beam: { value: 3 }, width: { value: 1 }, keep: { value: 0 }, mats: new Set() };
137
154
  const sample = sampleSurfaceCached(target, Math.round(Number(p.sparks)), 23);
138
155
  own.points = createFxPoints(target, sample, {
139
156
  additive: true,
140
- uniforms: { ...fieldUniforms(P, field), uTelLife: own.life, uTelGlow: own.glow, uTelBeam: own.beam, uTelWidth: own.width },
157
+ uniforms: { ...fieldUniforms(P, field), uTelLife: own.life, uTelGlow: own.glow, uTelBeam: own.beam, uTelWidth: own.width, uTelKeep: own.keep },
141
158
  vertexPars: fieldGlsl(P) + GLSL_POINT_SIZE + GLSL_ROT,
142
159
  vertexMain: /* glsl */ `
143
160
  float birth = TelBirthOf(TelField(TelNorm(aP)));
144
161
  float a = (uTelProgress - birth) / (uTelLife * 1.6);
162
+ // keep: once charged, a particle cycles up the beam over and over
163
+ if (uTelKeep > 0.5) a = uTelProgress > birth ? 0.5 + 0.5 * fract(u${P}Time * 0.2 + aR.w) : 0.0;
145
164
  if (a <= 0.0 || a >= 1.0) { gl_Position = vec4(2.0, 2.0, 2.0, 1.0); gl_PointSize = 0.0; vColor = vec3(0.0); vAlpha = 0.0; return; }
146
165
  float E = uTelExtent;
147
166
  vec3 S = ${SING};
@@ -184,7 +203,17 @@ export default defineOperation({
184
203
  s.beam.value = Number(p.beam);
185
204
  s.width.value = Number(p.width);
186
205
  s.points.visible = true;
206
+ s.keep.value = p.disappear === false ? 1 : 0;
207
+ hideMeshes(target, KEY, false);
187
208
  updateColumn(s);
209
+ if (s.keep.value) {
210
+ // keep: the charge climbs the object (0 → 1), the beam stands, and it holds
211
+ return runProgress(target, s.field, 1, {
212
+ duration: Number(p.duration) / END, ease: 'none', hold: true,
213
+ onUpdate: () => updateColumn(s),
214
+ onComplete: () => updateColumn(s),
215
+ });
216
+ }
188
217
  return runProgress(target, s.field, END, {
189
218
  duration: Number(p.duration), ease: 'power1.in',
190
219
  onUpdate: () => updateColumn(s),
@@ -196,9 +225,11 @@ export default defineOperation({
196
225
  if (!s)
197
226
  return;
198
227
  hideMeshes(target, KEY, false);
228
+ setReveal(s.field, p);
199
229
  s.points.visible = true;
230
+ // from a hold it only has part of the way to go: keep the same speed
200
231
  return runProgress(target, s.field, 0, {
201
- duration: Number(p.duration), ease: 'power1.out',
232
+ duration: Number(p.duration) * Math.min(1, Math.max(0.1, s.field.progress.value / END)), ease: s.keep.value ? 'none' : 'power1.out',
202
233
  onUpdate: () => updateColumn(s),
203
234
  onComplete: () => {
204
235
  s.mats.forEach(m => removeLayer(m, KEY));
@@ -0,0 +1,89 @@
1
+ import { Color, Group, Matrix4, Quaternion, Vector3 } from 'three';
2
+ import type { Object3D } from 'three';
3
+ export declare const CAP = 480;
4
+ export interface Sample {
5
+ t: number;
6
+ p: Vector3;
7
+ q: Quaternion;
8
+ s: Vector3;
9
+ }
10
+ export interface TrailParams {
11
+ style: string;
12
+ length: number;
13
+ amount: number;
14
+ size: number;
15
+ opacity: number;
16
+ /** The style's colours (linear), from its own settings — see each style for what they colour. */
17
+ color: Color;
18
+ color2: Color;
19
+ color3: Color;
20
+ }
21
+ export interface TrailCtx {
22
+ target: Object3D;
23
+ group: Group;
24
+ env: {
25
+ v: number;
26
+ };
27
+ p: TrailParams;
28
+ /** Bounding diameter of the object (world), and the floor under it (world y of its base). */
29
+ span: number;
30
+ floor: number;
31
+ hist: Sample[];
32
+ head: number;
33
+ count: number;
34
+ now: number;
35
+ dt: number;
36
+ vel: Vector3;
37
+ acc: Vector3;
38
+ speed: number;
39
+ world: Matrix4;
40
+ cam: Vector3 | null;
41
+ /** Called by the core when the history restarts (a teleport): simulations reset too. */
42
+ onReset?: () => void;
43
+ }
44
+ export interface TrailStyle {
45
+ /** Build meshes into ctx.group (compiled before shown by the caller). */
46
+ build(ctx: TrailCtx): void;
47
+ /** Every frame, after the history has the new sample. */
48
+ update(ctx: TrailCtx): void;
49
+ /** Particles still in flight — switching off waits for them to finish (never cut mid-air). */
50
+ alive?(ctx: TrailCtx): boolean;
51
+ /** Free what build made (geometries, materials) — the group itself is removed by the caller. */
52
+ dispose?(ctx: TrailCtx): void;
53
+ }
54
+ export declare const smooth: (a: number, b: number, x: number) => number;
55
+ export declare const clamp01: (x: number) => number;
56
+ export declare function newHistory(): Sample[];
57
+ /** Sample the object now; a jump of more than two sizes in one frame restarts the history. */
58
+ export declare function record(ctx: TrailCtx, now: number): void;
59
+ /** The pose `ago` seconds back (interpolated); false when the history does not reach that far. */
60
+ export declare function poseAgo(ctx: TrailCtx, ago: number, out: Sample): boolean;
61
+ /** How far a past pose is from the pose now, in object sizes (position + turn + scale). */
62
+ export declare function awayFromNow(ctx: TrailCtx, s: Sample): number;
63
+ export declare function cameraPos(out: Vector3): Vector3 | null;
64
+ export interface SurfacePts {
65
+ pos: Float32Array;
66
+ nrm: Float32Array;
67
+ col: Float32Array;
68
+ n: number;
69
+ }
70
+ export declare function surfaceOf(target: Object3D, count: number, seed: number): SurfacePts;
71
+ /** `k` points spread over the surface (farthest-point picks), root-local. */
72
+ export declare function spreadPoints(target: Object3D, k: number, seed?: number): Vector3[];
73
+ /** Bounding diameter (world) and the world y of the object's base. */
74
+ export declare function measure(target: Object3D): {
75
+ span: number;
76
+ floor: number;
77
+ };
78
+ /** Smooth value noise in [−1, 1]. */
79
+ export declare function vnoise(x: number, y: number, z: number): number;
80
+ /** Divergence-free (curl) flow at a point — swirls without sinks or sources. */
81
+ export declare function curl(x: number, y: number, z: number, out: Vector3): Vector3;
82
+ /**
83
+ * Blackbody-like ramp for a cooling spark, linear RGB: 1 = white-hot, 0.6 yellow,
84
+ * 0.35 orange, 0.15 deep red, 0 = gone.
85
+ */
86
+ export declare function blackbody(t: number, out: Color): Color;
87
+ /** GLSL: anti-aliased edge — 1 inside, 0 outside, a one-pixel ramp (fragment only). */
88
+ export declare const GLSL_AA = "\nfloat trlAA(float d) { float w = fwidth(d); return clamp(0.5 - d / max(w, 1e-5), 0.0, 1.0); }";
89
+ //# sourceMappingURL=trailCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailCore.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/trailCore.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAItC,eAAO,MAAM,GAAG,MAAM,CAAC;AAEvB,MAAM,WAAW,MAAM;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,UAAU,CAAC;IAAC,CAAC,EAAE,OAAO,CAAA;CAAE;AAE5E,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnB,CAAC,EAAE,WAAW,CAAC;IACf,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,yEAAyE;IACzE,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,yDAAyD;IACzD,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,8FAA8F;IAC9F,KAAK,CAAC,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,gGAAgG;IAChG,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAA2F,CAAC;AAClJ,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,WAAgC,CAAC;AAMlE,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAED,8FAA8F;AAC9F,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,QA2BhD;AAED,kGAAkG;AAClG,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBxE;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,UAGnD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAKtD;AAID,MAAM,WAAW,UAAU;IAAG,GAAG,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,YAAY,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAElG,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAGnF;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,OAAO,EAAE,CAkB9E;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,MAAM,EAAE,QAAQ;;;EAkBvC;AASD,qCAAqC;AACrC,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAQrD;AACD,gFAAgF;AAChF,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,WASjE;AAID;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,SAM9C;AAED,uFAAuF;AACvF,eAAO,MAAM,OAAO,oGAC0E,CAAC"}
@@ -0,0 +1,190 @@
1
+ // Motion trail — the shared core every trail style is built on (see motionTrail.ts).
2
+ //
3
+ // history the object's world pose, sampled every frame on gsap's clock, with
4
+ // interpolated look-ups back in time (poseAgo)
5
+ // motion smoothed velocity and acceleration of the object (world units / s)
6
+ // surface surface samples of the object (root-local position, normal, colour)
7
+ // camera where the camera is (for camera-facing ribbons and lines)
8
+ // helpers curl noise, blackbody ramp, farthest-point picks, smoothstep
9
+ //
10
+ // A style gets a TrailCtx: it builds its meshes into ctx.group (which lives in the
11
+ // SCENE, not under the object — the trail outlives an exit that hides the object)
12
+ // and updates them every frame. ctx.env (0…1) is the effect's on / off envelope.
13
+ import { Quaternion, Vector3 } from 'three';
14
+ import { sampleSurfaceCached } from './surfaceSample.js';
15
+ import cameraManager from '../../utils/CameraSingleton.js';
16
+ export const CAP = 480; // history samples kept (~8 s at 60 fps)
17
+ export const smooth = (a, b, x) => { const v = Math.min(1, Math.max(0, (x - a) / (b - a))); return v * v * (3 - 2 * v); };
18
+ export const clamp01 = (x) => Math.min(1, Math.max(0, x));
19
+ // ---------------------------------------------------------------- history & motion
20
+ const _p = new Vector3(), _q = new Quaternion(), _s = new Vector3(), _v = new Vector3(), _dv = new Vector3();
21
+ export function newHistory() {
22
+ return Array.from({ length: CAP }, () => ({ t: 0, p: new Vector3(), q: new Quaternion(), s: new Vector3() }));
23
+ }
24
+ /** Sample the object now; a jump of more than two sizes in one frame restarts the history. */
25
+ export function record(ctx, now) {
26
+ const t = ctx.target;
27
+ t.updateWorldMatrix(true, false);
28
+ ctx.world.copy(t.matrixWorld);
29
+ ctx.world.decompose(_p, _q, _s);
30
+ const last = ctx.count ? ctx.hist[ctx.head] : null;
31
+ ctx.dt = last ? Math.max(0, now - last.t) : 0;
32
+ ctx.now = now;
33
+ if (last && last.p.distanceTo(_p) > 2 * ctx.span && ctx.dt < 0.12) {
34
+ ctx.count = 0;
35
+ ctx.vel.set(0, 0, 0);
36
+ ctx.acc.set(0, 0, 0);
37
+ ctx.speed = 0;
38
+ ctx.onReset?.();
39
+ }
40
+ else if (last && ctx.dt > 1e-5) {
41
+ // velocity and acceleration, smoothed over ~50 ms (frame-rate independent)
42
+ _v.subVectors(_p, last.p).divideScalar(ctx.dt);
43
+ const k = 1 - Math.exp(-ctx.dt / 0.05);
44
+ _dv.copy(ctx.vel);
45
+ ctx.vel.lerp(_v, k);
46
+ _dv.subVectors(ctx.vel, _dv).divideScalar(ctx.dt);
47
+ ctx.acc.lerp(_dv, 1 - Math.exp(-ctx.dt / 0.06));
48
+ ctx.speed = ctx.vel.length() / ctx.span;
49
+ }
50
+ if (last && ctx.dt <= 1e-5 && ctx.count)
51
+ return; // same instant (composed twice): keep one sample
52
+ ctx.head = (ctx.head + 1) % CAP;
53
+ const e = ctx.hist[ctx.head];
54
+ e.t = now;
55
+ e.p.copy(_p);
56
+ e.q.copy(_q);
57
+ e.s.copy(_s);
58
+ ctx.count = Math.min(CAP, ctx.count + 1);
59
+ }
60
+ /** The pose `ago` seconds back (interpolated); false when the history does not reach that far. */
61
+ export function poseAgo(ctx, ago, out) {
62
+ if (!ctx.count)
63
+ return false;
64
+ const now = ctx.hist[ctx.head].t, want = now - ago;
65
+ let i = ctx.head;
66
+ for (let k = 0; k < ctx.count - 1; k++) {
67
+ const prev = (i - 1 + CAP) % CAP;
68
+ const a = ctx.hist[prev], b = ctx.hist[i];
69
+ if (a.t <= want) {
70
+ const f = b.t > a.t ? (want - a.t) / (b.t - a.t) : 0;
71
+ out.p.lerpVectors(a.p, b.p, f);
72
+ out.q.slerpQuaternions(a.q, b.q, f);
73
+ out.s.lerpVectors(a.s, b.s, f);
74
+ out.t = want;
75
+ return true;
76
+ }
77
+ i = prev;
78
+ }
79
+ const o = ctx.hist[i];
80
+ out.p.copy(o.p);
81
+ out.q.copy(o.q);
82
+ out.s.copy(o.s);
83
+ out.t = o.t;
84
+ return ago <= 0;
85
+ }
86
+ /** How far a past pose is from the pose now, in object sizes (position + turn + scale). */
87
+ export function awayFromNow(ctx, s) {
88
+ const now = ctx.hist[ctx.head];
89
+ return s.p.distanceTo(now.p) / ctx.span + 1.4 * (1 - Math.abs(s.q.dot(now.q))) + Math.abs(s.s.x - now.s.x);
90
+ }
91
+ export function cameraPos(out) {
92
+ const cam = cameraManager.getCamera?.();
93
+ if (!cam)
94
+ return null;
95
+ cam.updateMatrixWorld();
96
+ return cam.getWorldPosition(out);
97
+ }
98
+ export function surfaceOf(target, count, seed) {
99
+ const s = sampleSurfaceCached(target, count, seed);
100
+ return { pos: s.position, nrm: s.normal, col: s.color, n: s.position.length / 3 };
101
+ }
102
+ /** `k` points spread over the surface (farthest-point picks), root-local. */
103
+ export function spreadPoints(target, k, seed = 11) {
104
+ const s = surfaceOf(target, 500, seed);
105
+ const pts = [];
106
+ if (!s.n)
107
+ return pts;
108
+ const at = (i) => new Vector3(s.pos[i * 3], s.pos[i * 3 + 1], s.pos[i * 3 + 2]);
109
+ pts.push(at(0));
110
+ const d = new Float32Array(s.n).fill(Infinity);
111
+ while (pts.length < Math.min(k, s.n)) {
112
+ const last = pts[pts.length - 1];
113
+ let best = -1, bi = 0;
114
+ for (let i = 0; i < s.n; i++) {
115
+ const v = at(i);
116
+ d[i] = Math.min(d[i], v.distanceToSquared(last));
117
+ if (d[i] > best) {
118
+ best = d[i];
119
+ bi = i;
120
+ }
121
+ }
122
+ pts.push(at(bi));
123
+ }
124
+ return pts;
125
+ }
126
+ /** Bounding diameter (world) and the world y of the object's base. */
127
+ export function measure(target) {
128
+ target.updateWorldMatrix(true, true);
129
+ let r = 0, floor = Infinity;
130
+ const v = new Vector3();
131
+ target.traverse((c) => {
132
+ if (!c.isMesh || !c.geometry || c.userData?.__opFxHelper)
133
+ return;
134
+ const g = c.geometry;
135
+ if (!g.boundingSphere)
136
+ g.computeBoundingSphere();
137
+ if (!g.boundingBox)
138
+ g.computeBoundingBox();
139
+ const ws = new Vector3();
140
+ c.getWorldScale(ws);
141
+ r = Math.max(r, g.boundingSphere.radius * Math.max(ws.x, ws.y, ws.z));
142
+ const b = g.boundingBox;
143
+ for (let i = 0; i < 8; i++) {
144
+ v.set(i & 1 ? b.max.x : b.min.x, i & 2 ? b.max.y : b.min.y, i & 4 ? b.max.z : b.min.z).applyMatrix4(c.matrixWorld);
145
+ floor = Math.min(floor, v.y);
146
+ }
147
+ });
148
+ return { span: Math.max(2 * r, 1e-3), floor: Number.isFinite(floor) ? floor : 0 };
149
+ }
150
+ // ---------------------------------------------------------------- noise
151
+ function hash3(x, y, z) {
152
+ let h = (x * 374761393 + y * 668265263 + z * 2147483647) | 0;
153
+ h = (h ^ (h >>> 13)) * 1274126177;
154
+ return ((h ^ (h >>> 16)) >>> 0) / 4294967295;
155
+ }
156
+ /** Smooth value noise in [−1, 1]. */
157
+ export function vnoise(x, y, z) {
158
+ const xi = Math.floor(x), yi = Math.floor(y), zi = Math.floor(z);
159
+ const xf = x - xi, yf = y - yi, zf = z - zi;
160
+ const u = xf * xf * (3 - 2 * xf), v = yf * yf * (3 - 2 * yf), w = zf * zf * (3 - 2 * zf);
161
+ const l = (a, b, t) => a + (b - a) * t;
162
+ const c = (dx, dy, dz) => hash3(xi + dx, yi + dy, zi + dz);
163
+ return 2 * l(l(l(c(0, 0, 0), c(1, 0, 0), u), l(c(0, 1, 0), c(1, 1, 0), u), v), l(l(c(0, 0, 1), c(1, 0, 1), u), l(c(0, 1, 1), c(1, 1, 1), u), v), w) - 1;
164
+ }
165
+ /** Divergence-free (curl) flow at a point — swirls without sinks or sources. */
166
+ export function curl(x, y, z, out) {
167
+ const e = 0.1;
168
+ const A = (px, py, pz) => vnoise(px, py, pz);
169
+ const B = (px, py, pz) => vnoise(px + 31.4, py + 17.2, pz + 5.9);
170
+ const C = (px, py, pz) => vnoise(px + 9.1, py + 43.7, pz + 23.3);
171
+ const dCdy = (C(x, y + e, z) - C(x, y - e, z)) / (2 * e), dBdz = (B(x, y, z + e) - B(x, y, z - e)) / (2 * e);
172
+ const dAdz = (A(x, y, z + e) - A(x, y, z - e)) / (2 * e), dCdx = (C(x + e, y, z) - C(x - e, y, z)) / (2 * e);
173
+ const dBdx = (B(x + e, y, z) - B(x - e, y, z)) / (2 * e), dAdy = (A(x, y + e, z) - A(x, y - e, z)) / (2 * e);
174
+ return out.set(dCdy - dBdz, dAdz - dCdx, dBdx - dAdy);
175
+ }
176
+ // ---------------------------------------------------------------- colour
177
+ /**
178
+ * Blackbody-like ramp for a cooling spark, linear RGB: 1 = white-hot, 0.6 yellow,
179
+ * 0.35 orange, 0.15 deep red, 0 = gone.
180
+ */
181
+ export function blackbody(t, out) {
182
+ const x = clamp01(t);
183
+ const r = smooth(0.02, 0.3, x);
184
+ const g = Math.pow(smooth(0.18, 0.75, x), 1.6);
185
+ const b = Math.pow(smooth(0.55, 1, x), 2);
186
+ return out.setRGB(r * 1.0, g * 0.82, b * 0.75);
187
+ }
188
+ /** GLSL: anti-aliased edge — 1 inside, 0 outside, a one-pixel ramp (fragment only). */
189
+ export const GLSL_AA = /* glsl */ `
190
+ float trlAA(float d) { float w = fwidth(d); return clamp(0.5 - d / max(w, 1e-5), 0.0, 1.0); }`;
@@ -0,0 +1,5 @@
1
+ import { type TrailStyle } from './trailCore';
2
+ export declare const afterimage: TrailStyle;
3
+ export declare const longExposure: TrailStyle;
4
+ export declare const chromaticEcho: TrailStyle;
5
+ //# sourceMappingURL=trailGhosts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailGhosts.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/trailGhosts.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA8E,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AA6I1H,eAAO,MAAM,UAAU,YAOrB,CAAC;AAEH,eAAO,MAAM,YAAY,YASvB,CAAC;AAEH,eAAO,MAAM,aAAa,YAQxB,CAAC"}
@@ -0,0 +1,179 @@
1
+ // Ghost trails — copies of the object's own geometry placed at its poses back in time
2
+ // (instanced per mesh, sharing the mesh's attributes), drawn as additive Fresnel shells.
3
+ // One machine, three looks:
4
+ //
5
+ // afterimage a handful of distinct copies fading along the path, colour →
6
+ // tail colour (length × 1)
7
+ // longExposure many faint copies, so close they read as one continuous
8
+ // smear — a long-exposure photograph of the move (length × 1.25)
9
+ // chromaticEcho three copies a beat apart in three colours (red, green, blue by
10
+ // default): they split into a fringe when it moves fast and add
11
+ // back up to white as they close in (length × 0.5)
12
+ //
13
+ // A copy that sits on the object draws nothing (alpha ∝ how far its pose is from now),
14
+ // so a still object has no trail.
15
+ import { AdditiveBlending, BufferGeometry, Color, DoubleSide, InstancedBufferAttribute, InstancedMesh, Matrix4, Quaternion, ShaderMaterial, Vector3, } from 'three';
16
+ import { awayFromNow, poseAgo, smooth } from './trailCore.js';
17
+ const MAX_MESHES = 24;
18
+ const VERT = /* glsl */ `
19
+ attribute float aTrlAlpha;
20
+ attribute vec3 aTrlTint;
21
+ varying float vTrlA;
22
+ varying vec3 vTrlTint;
23
+ varying vec3 vTrlN;
24
+ varying vec3 vTrlV;
25
+ void main() {
26
+ vTrlA = aTrlAlpha;
27
+ vTrlTint = aTrlTint;
28
+ mat4 m = modelMatrix * instanceMatrix;
29
+ vec4 wp = m * vec4(position, 1.0);
30
+ vTrlN = normalize(mat3(m) * normal);
31
+ vTrlV = normalize(cameraPosition - wp.xyz);
32
+ gl_Position = projectionMatrix * viewMatrix * wp;
33
+ }`;
34
+ const FRAG = /* glsl */ `
35
+ uniform vec3 uTrlColor;
36
+ uniform float uTrlOpacity;
37
+ uniform float uTrlBody;
38
+ varying float vTrlA;
39
+ varying vec3 vTrlTint;
40
+ varying vec3 vTrlN;
41
+ varying vec3 vTrlV;
42
+ void main() {
43
+ if (vTrlA < 0.001) discard;
44
+ float fres = pow(1.0 - abs(dot(normalize(vTrlN), normalize(vTrlV))), 2.2);
45
+ float a = vTrlA * uTrlOpacity * (uTrlBody + (1.0 - uTrlBody) * fres);
46
+ vec3 col = uTrlColor * vTrlTint * (0.55 + 0.9 * fres);
47
+ gl_FragColor = vec4(col * a, a);
48
+ #include <tonemapping_fragment>
49
+ #include <colorspace_fragment>
50
+ }`;
51
+ const state = new WeakMap();
52
+ const _a = { t: 0, p: new Vector3(), q: new Quaternion(), s: new Vector3() };
53
+ const _poses = Array.from({ length: 64 }, () => new Matrix4());
54
+ const _alphas = new Float32Array(64);
55
+ const _rootInv = new Matrix4(), _rel = new Matrix4(), _w = new Matrix4(), _prevP = new Vector3();
56
+ const _tints = new Float32Array(64 * 3), _tc = new Color();
57
+ /** Colour → second colour along the copies (newest → oldest). */
58
+ const gradient = (i, n, p, out) => out.copy(p.color).lerp(p.color2, n > 1 ? i / (n - 1) : 0);
59
+ function ghostStyle(cfg) {
60
+ return {
61
+ build(ctx) {
62
+ const meshes = [];
63
+ ctx.target.traverse((c) => {
64
+ if (c.isMesh && !c.isInstancedMesh && !c.userData?.__opFxHelper && c.geometry?.attributes?.position && meshes.length < MAX_MESHES)
65
+ meshes.push(c);
66
+ });
67
+ const tris = meshes.reduce((n, m) => n + (m.geometry.index ? m.geometry.index.count : m.geometry.attributes.position.count) / 3, 0);
68
+ // keep the copies' total triangle count sane on heavy models
69
+ const n = Math.max(1, Math.min(64, cfg.copies(ctx.p.amount), Math.floor(4e6 / Math.max(1, tris))));
70
+ const g = { list: [], n };
71
+ for (const m of meshes) {
72
+ // its own geometry object that SHARES the mesh's attributes (no copy), plus the per-copy attributes
73
+ const geo = new BufferGeometry();
74
+ for (const [name, attr] of Object.entries(m.geometry.attributes))
75
+ geo.setAttribute(name, attr);
76
+ geo.setIndex(m.geometry.index);
77
+ const alpha = new InstancedBufferAttribute(new Float32Array(n), 1);
78
+ geo.setAttribute('aTrlAlpha', alpha);
79
+ const tint = new InstancedBufferAttribute(new Float32Array(n * 3), 3);
80
+ geo.setAttribute('aTrlTint', tint);
81
+ const mat = new ShaderMaterial({
82
+ vertexShader: VERT, fragmentShader: FRAG,
83
+ uniforms: { uTrlColor: { value: new Color(1, 1, 1) }, uTrlOpacity: { value: ctx.p.opacity }, uTrlBody: { value: cfg.body } },
84
+ transparent: true, depthWrite: false, blending: AdditiveBlending, side: DoubleSide,
85
+ });
86
+ const inst = new InstancedMesh(geo, mat, n);
87
+ inst.frustumCulled = false;
88
+ inst.raycast = () => undefined;
89
+ inst.renderOrder = 2;
90
+ inst.matrixAutoUpdate = false;
91
+ ctx.group.add(inst);
92
+ g.list.push({ mesh: m, inst, alpha, tint });
93
+ }
94
+ state.set(ctx, g);
95
+ },
96
+ update(ctx) {
97
+ const g = state.get(ctx);
98
+ if (!g)
99
+ return;
100
+ const len = ctx.p.length * cfg.lengthScale;
101
+ _prevP.copy(ctx.hist[ctx.head].p);
102
+ for (let i = 0; i < g.n; i++) {
103
+ let a = 0;
104
+ if (poseAgo(ctx, len * cfg.when(i, g.n), _a)) {
105
+ const gap = _a.p.distanceTo(_prevP) / ctx.span;
106
+ a = ctx.env.v * cfg.alpha(i, g.n, ctx.p.amount, gap) * smooth(0.04, 0.3, awayFromNow(ctx, _a));
107
+ }
108
+ _prevP.copy(_a.p);
109
+ _poses[i].compose(_a.p, _a.q, _a.s);
110
+ _alphas[i] = a;
111
+ }
112
+ // colours are live settings: per copy, every frame (a handful of numbers)
113
+ for (let i = 0; i < g.n; i++) {
114
+ cfg.tint(i, g.n, ctx.p, _tc);
115
+ _tints[i * 3] = _tc.r;
116
+ _tints[i * 3 + 1] = _tc.g;
117
+ _tints[i * 3 + 2] = _tc.b;
118
+ }
119
+ _rootInv.copy(ctx.world).invert();
120
+ for (const c of g.list) {
121
+ c.tint.array.set(_tints.subarray(0, g.n * 3));
122
+ c.tint.needsUpdate = true;
123
+ c.inst.material.uniforms.uTrlOpacity.value = ctx.p.opacity;
124
+ c.mesh.updateWorldMatrix(true, false);
125
+ _rel.multiplyMatrices(_rootInv, c.mesh.matrixWorld); // the mesh inside the object, as it is now
126
+ for (let i = 0; i < g.n; i++) {
127
+ c.inst.setMatrixAt(i, _w.multiplyMatrices(_poses[i], _rel));
128
+ c.alpha.array[i] = _alphas[i];
129
+ }
130
+ c.inst.instanceMatrix.needsUpdate = true;
131
+ c.alpha.needsUpdate = true;
132
+ }
133
+ },
134
+ dispose(ctx) {
135
+ const g = state.get(ctx);
136
+ if (!g)
137
+ return;
138
+ for (const c of g.list) {
139
+ // the copies share the object's own attributes: drop those first, so disposing frees only ours
140
+ const geo = c.inst.geometry;
141
+ for (const name of Object.keys(geo.attributes))
142
+ if (name !== 'aTrlAlpha' && name !== 'aTrlTint')
143
+ geo.deleteAttribute(name);
144
+ geo.setIndex(null);
145
+ geo.dispose();
146
+ c.inst.material.dispose();
147
+ c.inst.dispose();
148
+ }
149
+ state.delete(ctx);
150
+ },
151
+ };
152
+ }
153
+ export const afterimage = ghostStyle({
154
+ copies: a => Math.round(4 + a * 20),
155
+ lengthScale: 1,
156
+ when: (i, n) => (i + 1) / n,
157
+ alpha: (i, n) => Math.pow(1 - i / n, 1.35),
158
+ tint: gradient,
159
+ body: 0.12,
160
+ });
161
+ export const longExposure = ghostStyle({
162
+ copies: a => Math.round(18 + a * 40),
163
+ lengthScale: 1.25,
164
+ when: (i, n) => (i + 1) / n,
165
+ // many faint copies that read as ONE smear: a copy's strength follows how far it is from
166
+ // the next one — packed tight they share the light, spread out each carries more
167
+ alpha: (i, n, _a, gap) => 0.34 * Math.min(1, Math.max(0.06, gap / 0.12)) * Math.pow(1 - i / n, 0.7),
168
+ tint: gradient,
169
+ body: 0.45,
170
+ });
171
+ export const chromaticEcho = ghostStyle({
172
+ copies: () => 3,
173
+ lengthScale: 0.5,
174
+ when: (i, n) => (i + 1) / n,
175
+ alpha: (_i, _n, a) => 0.55 + 0.45 * a,
176
+ // its three colours (red, green, blue by default): apart they fringe, together they add up to white
177
+ tint: (i, _n, p, out) => out.copy(i === 0 ? p.color : i === 1 ? p.color2 : p.color3),
178
+ body: 0.42,
179
+ });
@@ -0,0 +1,11 @@
1
+ export declare const smoke: import("./trailCore").TrailStyle;
2
+ export declare const ash: import("./trailCore").TrailStyle;
3
+ export declare const hologram: import("./trailCore").TrailStyle;
4
+ export declare const ink: import("./trailCore").TrailStyle;
5
+ export declare const frost: import("./trailCore").TrailStyle;
6
+ export declare const sand: import("./trailCore").TrailStyle;
7
+ export declare const voxel: import("./trailCore").TrailStyle;
8
+ export declare const shatter: import("./trailCore").TrailStyle;
9
+ export declare const wireframe: import("./trailCore").TrailStyle;
10
+ export declare const bubbles: import("./trailCore").TrailStyle;
11
+ //# sourceMappingURL=trailStampStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailStampStyles.d.ts","sourceRoot":"","sources":["../../../src/operations/catalogue/trailStampStyles.ts"],"names":[],"mappings":"AA6CA,eAAO,MAAM,KAAK,kCAgBhB,CAAC;AAIH,eAAO,MAAM,GAAG,kCAqBd,CAAC;AAIH,eAAO,MAAM,QAAQ,kCA2BnB,CAAC;AAIH,eAAO,MAAM,GAAG,kCAsBd,CAAC;AAIH,eAAO,MAAM,KAAK,kCAmBhB,CAAC;AAIH,eAAO,MAAM,IAAI,kCA8Cf,CAAC;AAIH,eAAO,MAAM,KAAK,kCAuDhB,CAAC;AAIH,eAAO,MAAM,OAAO,kCA4ElB,CAAC;AAIH,eAAO,MAAM,SAAS,kCA2CpB,CAAC;AASH,eAAO,MAAM,OAAO,kCAmDlB,CAAC"}