@3driseai/3drise-viewer 0.1.27 → 0.1.29

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 (690) 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 +44 -3
  4. package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
  5. package/dist/animationsV2/ClipsRuntime.js +173 -55
  6. package/dist/animationsV2/appliers.d.ts.map +1 -1
  7. package/dist/animationsV2/appliers.js +21 -5
  8. package/dist/animationsV2/index.d.ts +1 -1
  9. package/dist/animationsV2/index.d.ts.map +1 -1
  10. package/dist/animationsV2/normalize.d.ts.map +1 -1
  11. package/dist/animationsV2/normalize.js +7 -3
  12. package/dist/animationsV2/sequenceUtils.d.ts +44 -6
  13. package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
  14. package/dist/animationsV2/sequenceUtils.js +58 -12
  15. package/dist/animationsV2/types.d.ts +22 -12
  16. package/dist/animationsV2/types.d.ts.map +1 -1
  17. package/dist/api/sceneHandle.d.ts +35 -1
  18. package/dist/api/sceneHandle.d.ts.map +1 -1
  19. package/dist/api/sceneHandle.js +88 -17
  20. package/dist/components/AdvancedGrid.d.ts +1 -5
  21. package/dist/components/AdvancedGrid.d.ts.map +1 -1
  22. package/dist/components/AdvancedGrid.js +6 -35
  23. package/dist/components/AnimatedObject.d.ts.map +1 -1
  24. package/dist/components/AnimatedObject.js +9 -4
  25. package/dist/components/ApollonianGrid.d.ts +25 -0
  26. package/dist/components/ApollonianGrid.d.ts.map +1 -0
  27. package/dist/components/ApollonianGrid.js +55 -0
  28. package/dist/components/ChladniGrid.d.ts +1 -1
  29. package/dist/components/ChladniGrid.d.ts.map +1 -1
  30. package/dist/components/ChladniGrid.js +6 -35
  31. package/dist/components/CircuitGrid.d.ts +1 -1
  32. package/dist/components/CircuitGrid.d.ts.map +1 -1
  33. package/dist/components/CircuitGrid.js +6 -34
  34. package/dist/components/ConformalGrid.d.ts +25 -0
  35. package/dist/components/ConformalGrid.d.ts.map +1 -0
  36. package/dist/components/ConformalGrid.js +66 -0
  37. package/dist/components/ContourGrid.d.ts +1 -1
  38. package/dist/components/ContourGrid.d.ts.map +1 -1
  39. package/dist/components/ContourGrid.js +6 -34
  40. package/dist/components/CustomPrimitive.js +1 -1
  41. package/dist/components/EnvironmentObject.d.ts.map +1 -1
  42. package/dist/components/EnvironmentObject.js +9 -7
  43. package/dist/components/FlowNetGrid.d.ts +1 -1
  44. package/dist/components/FlowNetGrid.d.ts.map +1 -1
  45. package/dist/components/FlowNetGrid.js +6 -34
  46. package/dist/components/FractalGrid.d.ts +1 -1
  47. package/dist/components/FractalGrid.d.ts.map +1 -1
  48. package/dist/components/FractalGrid.js +6 -37
  49. package/dist/components/Galaxy.d.ts.map +1 -1
  50. package/dist/components/Galaxy.js +9 -23
  51. package/dist/components/GirihGrid.d.ts +1 -1
  52. package/dist/components/GirihGrid.d.ts.map +1 -1
  53. package/dist/components/GirihGrid.js +6 -35
  54. package/dist/components/GravWaveGrid.d.ts +1 -1
  55. package/dist/components/GravWaveGrid.d.ts.map +1 -1
  56. package/dist/components/GravWaveGrid.js +6 -35
  57. package/dist/components/GridsGenerator.d.ts +2 -2
  58. package/dist/components/GridsGenerator.d.ts.map +1 -1
  59. package/dist/components/GridsGenerator.js +21 -0
  60. package/dist/components/HexGrid.d.ts +1 -5
  61. package/dist/components/HexGrid.d.ts.map +1 -1
  62. package/dist/components/HexGrid.js +6 -36
  63. package/dist/components/HilbertGrid.d.ts +25 -0
  64. package/dist/components/HilbertGrid.d.ts.map +1 -0
  65. package/dist/components/HilbertGrid.js +66 -0
  66. package/dist/components/HyperbolicGrid.d.ts +1 -1
  67. package/dist/components/HyperbolicGrid.d.ts.map +1 -1
  68. package/dist/components/HyperbolicGrid.js +6 -34
  69. package/dist/components/LandObject.d.ts +9 -0
  70. package/dist/components/LandObject.d.ts.map +1 -0
  71. package/dist/components/LandObject.js +15 -0
  72. package/dist/components/LensingGrid.d.ts +25 -0
  73. package/dist/components/LensingGrid.d.ts.map +1 -0
  74. package/dist/components/LensingGrid.js +55 -0
  75. package/dist/components/LightsManager.d.ts.map +1 -1
  76. package/dist/components/LightsManager.js +8 -0
  77. package/dist/components/ModelBoundary.d.ts +2 -0
  78. package/dist/components/ModelBoundary.d.ts.map +1 -1
  79. package/dist/components/ModelBoundary.js +3 -0
  80. package/dist/components/ModelPrimitive.d.ts.map +1 -1
  81. package/dist/components/ModelPrimitive.js +6 -0
  82. package/dist/components/MoireGrid.d.ts +1 -1
  83. package/dist/components/MoireGrid.d.ts.map +1 -1
  84. package/dist/components/MoireGrid.js +6 -35
  85. package/dist/components/MoonDisc.d.ts +11 -0
  86. package/dist/components/MoonDisc.d.ts.map +1 -0
  87. package/dist/components/MoonDisc.js +128 -0
  88. package/dist/components/ObjectNode.d.ts.map +1 -1
  89. package/dist/components/ObjectNode.js +15 -4
  90. package/dist/components/ObjectsRenderer.d.ts.map +1 -1
  91. package/dist/components/ObjectsRenderer.js +7 -5
  92. package/dist/components/OceanBuilder.d.ts.map +1 -1
  93. package/dist/components/OceanBuilder.js +2 -0
  94. package/dist/components/ParastichyGrid.d.ts +25 -0
  95. package/dist/components/ParastichyGrid.d.ts.map +1 -0
  96. package/dist/components/ParastichyGrid.js +55 -0
  97. package/dist/components/PhyllotaxisGrid.d.ts +25 -0
  98. package/dist/components/PhyllotaxisGrid.d.ts.map +1 -0
  99. package/dist/components/PhyllotaxisGrid.js +66 -0
  100. package/dist/components/ProjectLoader.d.ts +5 -3
  101. package/dist/components/ProjectLoader.d.ts.map +1 -1
  102. package/dist/components/ProjectLoader.js +6 -3
  103. package/dist/components/QuasiGrid.d.ts +1 -1
  104. package/dist/components/QuasiGrid.d.ts.map +1 -1
  105. package/dist/components/QuasiGrid.js +6 -33
  106. package/dist/components/RadarGrid.d.ts +1 -1
  107. package/dist/components/RadarGrid.d.ts.map +1 -1
  108. package/dist/components/RadarGrid.js +6 -34
  109. package/dist/components/ReactionDiffusionGrid.d.ts +1 -1
  110. package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
  111. package/dist/components/ReactionDiffusionGrid.js +6 -35
  112. package/dist/components/SceneBuilder.d.ts +25 -3
  113. package/dist/components/SceneBuilder.d.ts.map +1 -1
  114. package/dist/components/SceneBuilder.js +68 -38
  115. package/dist/components/SkyController.d.ts +25 -1
  116. package/dist/components/SkyController.d.ts.map +1 -1
  117. package/dist/components/SkyController.js +189 -130
  118. package/dist/components/SkyMesh.d.ts.map +1 -1
  119. package/dist/components/SkyMesh.js +26 -1
  120. package/dist/components/SkyStars.d.ts +11 -0
  121. package/dist/components/SkyStars.d.ts.map +1 -0
  122. package/dist/components/SkyStars.js +187 -0
  123. package/dist/components/SkySystem.d.ts +3 -3
  124. package/dist/components/SkySystem.d.ts.map +1 -1
  125. package/dist/components/SkySystem.js +8 -2
  126. package/dist/components/Sun.d.ts +15 -1
  127. package/dist/components/Sun.d.ts.map +1 -1
  128. package/dist/components/Sun.js +64 -3
  129. package/dist/components/SunLight.d.ts +6 -1
  130. package/dist/components/SunLight.d.ts.map +1 -1
  131. package/dist/components/SunLight.js +96 -44
  132. package/dist/components/TerrainBuilder.d.ts.map +1 -1
  133. package/dist/components/TerrainBuilder.js +2 -0
  134. package/dist/components/TextGenerator.d.ts +9 -0
  135. package/dist/components/TextGenerator.d.ts.map +1 -0
  136. package/dist/components/TextGenerator.js +29 -0
  137. package/dist/components/TruchetGrid.d.ts +25 -0
  138. package/dist/components/TruchetGrid.d.ts.map +1 -0
  139. package/dist/components/TruchetGrid.js +55 -0
  140. package/dist/components/VoronoiGrid.d.ts +1 -1
  141. package/dist/components/VoronoiGrid.d.ts.map +1 -1
  142. package/dist/components/VoronoiGrid.js +6 -33
  143. package/dist/components/WallpaperGrid.d.ts +1 -1
  144. package/dist/components/WallpaperGrid.d.ts.map +1 -1
  145. package/dist/components/WallpaperGrid.js +6 -35
  146. package/dist/components/environment/Rain.d.ts +15 -0
  147. package/dist/components/environment/Rain.d.ts.map +1 -0
  148. package/dist/components/environment/Rain.js +110 -0
  149. package/dist/components/environment/Rainbow.d.ts +20 -0
  150. package/dist/components/environment/Rainbow.d.ts.map +1 -0
  151. package/dist/components/environment/Rainbow.js +974 -0
  152. package/dist/components/environment/Sandstorm.d.ts +20 -0
  153. package/dist/components/environment/Sandstorm.d.ts.map +1 -0
  154. package/dist/components/environment/Sandstorm.js +776 -0
  155. package/dist/components/environment/Snow.d.ts +20 -0
  156. package/dist/components/environment/Snow.d.ts.map +1 -0
  157. package/dist/components/environment/Snow.js +609 -0
  158. package/dist/components/environment/Thunderstorm.d.ts +20 -0
  159. package/dist/components/environment/Thunderstorm.d.ts.map +1 -0
  160. package/dist/components/environment/Thunderstorm.js +731 -0
  161. package/dist/components/environment/Tornado.d.ts +20 -0
  162. package/dist/components/environment/Tornado.d.ts.map +1 -0
  163. package/dist/components/environment/Tornado.js +762 -0
  164. package/dist/components/environment/index.d.ts +13 -0
  165. package/dist/components/environment/index.d.ts.map +1 -0
  166. package/dist/components/environment/index.js +7 -0
  167. package/dist/components/index.d.ts +24 -10
  168. package/dist/components/index.d.ts.map +1 -1
  169. package/dist/components/index.js +15 -6
  170. package/dist/components/land/LandPatch.d.ts +15 -0
  171. package/dist/components/land/LandPatch.d.ts.map +1 -0
  172. package/dist/components/land/LandPatch.js +170 -0
  173. package/dist/components/land/index.d.ts +3 -0
  174. package/dist/components/land/index.d.ts.map +1 -0
  175. package/dist/components/land/index.js +1 -0
  176. package/dist/components/space/Earth.d.ts +16 -0
  177. package/dist/components/space/Earth.d.ts.map +1 -0
  178. package/dist/components/space/Earth.js +75 -0
  179. package/dist/components/space/ShootingStar.d.ts +21 -0
  180. package/dist/components/space/ShootingStar.d.ts.map +1 -0
  181. package/dist/components/space/ShootingStar.js +101 -0
  182. package/dist/components/space/ShootingStars.d.ts +16 -0
  183. package/dist/components/space/ShootingStars.d.ts.map +1 -0
  184. package/dist/components/space/ShootingStars.js +71 -0
  185. package/dist/components/space/SolarSystem.d.ts +16 -0
  186. package/dist/components/space/SolarSystem.d.ts.map +1 -0
  187. package/dist/components/space/SolarSystem.js +141 -0
  188. package/dist/components/space/Stars.d.ts +20 -0
  189. package/dist/components/space/Stars.d.ts.map +1 -0
  190. package/dist/components/space/Stars.js +160 -0
  191. package/dist/components/space/index.d.ts +11 -0
  192. package/dist/components/space/index.d.ts.map +1 -0
  193. package/dist/components/space/index.js +8 -0
  194. package/dist/components/terrain/TerrainSurface.d.ts.map +1 -1
  195. package/dist/components/terrain/TerrainSurface.js +27 -3
  196. package/dist/components/terrain/types.d.ts +5 -1
  197. package/dist/components/terrain/types.d.ts.map +1 -1
  198. package/dist/components/text/BurnAwayText.d.ts +15 -0
  199. package/dist/components/text/BurnAwayText.d.ts.map +1 -0
  200. package/dist/components/text/BurnAwayText.js +4 -0
  201. package/dist/components/text/ChalkboardText.d.ts +15 -0
  202. package/dist/components/text/ChalkboardText.d.ts.map +1 -0
  203. package/dist/components/text/ChalkboardText.js +4 -0
  204. package/dist/components/text/ConstellationText.d.ts +15 -0
  205. package/dist/components/text/ConstellationText.d.ts.map +1 -0
  206. package/dist/components/text/ConstellationText.js +4 -0
  207. package/dist/components/text/EmbroideryText.d.ts +15 -0
  208. package/dist/components/text/EmbroideryText.d.ts.map +1 -0
  209. package/dist/components/text/EmbroideryText.js +4 -0
  210. package/dist/components/text/FourierSketchText.d.ts +15 -0
  211. package/dist/components/text/FourierSketchText.d.ts.map +1 -0
  212. package/dist/components/text/FourierSketchText.js +4 -0
  213. package/dist/components/text/FrostGrowthText.d.ts +15 -0
  214. package/dist/components/text/FrostGrowthText.d.ts.map +1 -0
  215. package/dist/components/text/FrostGrowthText.js +4 -0
  216. package/dist/components/text/HandwritingText.d.ts +15 -0
  217. package/dist/components/text/HandwritingText.d.ts.map +1 -0
  218. package/dist/components/text/HandwritingText.js +4 -0
  219. package/dist/components/text/InkBleedText.d.ts +15 -0
  220. package/dist/components/text/InkBleedText.d.ts.map +1 -0
  221. package/dist/components/text/InkBleedText.js +4 -0
  222. package/dist/components/text/LightPaintingText.d.ts +15 -0
  223. package/dist/components/text/LightPaintingText.d.ts.map +1 -0
  224. package/dist/components/text/LightPaintingText.js +4 -0
  225. package/dist/components/text/LiquidMetalText.d.ts +15 -0
  226. package/dist/components/text/LiquidMetalText.d.ts.map +1 -0
  227. package/dist/components/text/LiquidMetalText.js +4 -0
  228. package/dist/components/text/NeonTubeText.d.ts +15 -0
  229. package/dist/components/text/NeonTubeText.d.ts.map +1 -0
  230. package/dist/components/text/NeonTubeText.js +4 -0
  231. package/dist/components/text/PlasmaDischargeText.d.ts +15 -0
  232. package/dist/components/text/PlasmaDischargeText.d.ts.map +1 -0
  233. package/dist/components/text/PlasmaDischargeText.js +4 -0
  234. package/dist/components/text/TextObjectView.d.ts +12 -0
  235. package/dist/components/text/TextObjectView.d.ts.map +1 -0
  236. package/dist/components/text/TextObjectView.js +11 -0
  237. package/dist/components/text/engine/fieldkit.d.ts +24 -0
  238. package/dist/components/text/engine/fieldkit.d.ts.map +1 -0
  239. package/dist/components/text/engine/fieldkit.js +201 -0
  240. package/dist/components/text/engine/glyphs.d.ts +19 -0
  241. package/dist/components/text/engine/glyphs.d.ts.map +1 -0
  242. package/dist/components/text/engine/glyphs.js +269 -0
  243. package/dist/components/text/engine/looks/burnAway.d.ts +144 -0
  244. package/dist/components/text/engine/looks/burnAway.d.ts.map +1 -0
  245. package/dist/components/text/engine/looks/burnAway.js +593 -0
  246. package/dist/components/text/engine/looks/chalkboard.d.ts +135 -0
  247. package/dist/components/text/engine/looks/chalkboard.d.ts.map +1 -0
  248. package/dist/components/text/engine/looks/chalkboard.js +426 -0
  249. package/dist/components/text/engine/looks/constellation.d.ts +111 -0
  250. package/dist/components/text/engine/looks/constellation.d.ts.map +1 -0
  251. package/dist/components/text/engine/looks/constellation.js +496 -0
  252. package/dist/components/text/engine/looks/embroidery.d.ts +165 -0
  253. package/dist/components/text/engine/looks/embroidery.d.ts.map +1 -0
  254. package/dist/components/text/engine/looks/embroidery.js +645 -0
  255. package/dist/components/text/engine/looks/frostGrowth.d.ts +109 -0
  256. package/dist/components/text/engine/looks/frostGrowth.d.ts.map +1 -0
  257. package/dist/components/text/engine/looks/frostGrowth.js +727 -0
  258. package/dist/components/text/engine/looks/index.d.ts +2 -0
  259. package/dist/components/text/engine/looks/index.d.ts.map +1 -0
  260. package/dist/components/text/engine/looks/index.js +48 -0
  261. package/dist/components/text/engine/looks/inkBleed.d.ts +103 -0
  262. package/dist/components/text/engine/looks/inkBleed.d.ts.map +1 -0
  263. package/dist/components/text/engine/looks/inkBleed.js +590 -0
  264. package/dist/components/text/engine/looks/lightPainting.d.ts +132 -0
  265. package/dist/components/text/engine/looks/lightPainting.d.ts.map +1 -0
  266. package/dist/components/text/engine/looks/lightPainting.js +567 -0
  267. package/dist/components/text/engine/looks/liquidMetal.d.ts +135 -0
  268. package/dist/components/text/engine/looks/liquidMetal.d.ts.map +1 -0
  269. package/dist/components/text/engine/looks/liquidMetal.js +655 -0
  270. package/dist/components/text/engine/looks/plasmaDischarge.d.ts +126 -0
  271. package/dist/components/text/engine/looks/plasmaDischarge.d.ts.map +1 -0
  272. package/dist/components/text/engine/looks/plasmaDischarge.js +763 -0
  273. package/dist/components/text/engine/methods.d.ts +19 -0
  274. package/dist/components/text/engine/methods.d.ts.map +1 -0
  275. package/dist/components/text/engine/methods.js +126 -0
  276. package/dist/components/text/engine/playback.d.ts +40 -0
  277. package/dist/components/text/engine/playback.d.ts.map +1 -0
  278. package/dist/components/text/engine/playback.js +114 -0
  279. package/dist/components/text/engine/ribbon.d.ts +58 -0
  280. package/dist/components/text/engine/ribbon.d.ts.map +1 -0
  281. package/dist/components/text/engine/ribbon.js +250 -0
  282. package/dist/components/text/engine/variants.d.ts +159 -0
  283. package/dist/components/text/engine/variants.d.ts.map +1 -0
  284. package/dist/components/text/engine/variants.js +378 -0
  285. package/dist/components/text/fonts/architects-daughter.outline.d.ts +3 -0
  286. package/dist/components/text/fonts/architects-daughter.outline.d.ts.map +1 -0
  287. package/dist/components/text/fonts/architects-daughter.outline.js +4 -0
  288. package/dist/components/text/fonts/architects-daughter.strokes.d.ts +3 -0
  289. package/dist/components/text/fonts/architects-daughter.strokes.d.ts.map +1 -0
  290. package/dist/components/text/fonts/architects-daughter.strokes.js +4 -0
  291. package/dist/components/text/fonts/caveat.outline.d.ts +3 -0
  292. package/dist/components/text/fonts/caveat.outline.d.ts.map +1 -0
  293. package/dist/components/text/fonts/caveat.outline.js +4 -0
  294. package/dist/components/text/fonts/caveat.strokes.d.ts +3 -0
  295. package/dist/components/text/fonts/caveat.strokes.d.ts.map +1 -0
  296. package/dist/components/text/fonts/caveat.strokes.js +4 -0
  297. package/dist/components/text/fonts/courgette.outline.d.ts +3 -0
  298. package/dist/components/text/fonts/courgette.outline.d.ts.map +1 -0
  299. package/dist/components/text/fonts/courgette.outline.js +4 -0
  300. package/dist/components/text/fonts/courgette.strokes.d.ts +3 -0
  301. package/dist/components/text/fonts/courgette.strokes.d.ts.map +1 -0
  302. package/dist/components/text/fonts/courgette.strokes.js +4 -0
  303. package/dist/components/text/fonts/dancing-script.outline.d.ts +3 -0
  304. package/dist/components/text/fonts/dancing-script.outline.d.ts.map +1 -0
  305. package/dist/components/text/fonts/dancing-script.outline.js +4 -0
  306. package/dist/components/text/fonts/dancing-script.strokes.d.ts +3 -0
  307. package/dist/components/text/fonts/dancing-script.strokes.d.ts.map +1 -0
  308. package/dist/components/text/fonts/dancing-script.strokes.js +4 -0
  309. package/dist/components/text/fonts/gochi-hand.outline.d.ts +3 -0
  310. package/dist/components/text/fonts/gochi-hand.outline.d.ts.map +1 -0
  311. package/dist/components/text/fonts/gochi-hand.outline.js +4 -0
  312. package/dist/components/text/fonts/gochi-hand.strokes.d.ts +3 -0
  313. package/dist/components/text/fonts/gochi-hand.strokes.d.ts.map +1 -0
  314. package/dist/components/text/fonts/gochi-hand.strokes.js +4 -0
  315. package/dist/components/text/fonts/handlee.outline.d.ts +3 -0
  316. package/dist/components/text/fonts/handlee.outline.d.ts.map +1 -0
  317. package/dist/components/text/fonts/handlee.outline.js +4 -0
  318. package/dist/components/text/fonts/handlee.strokes.d.ts +3 -0
  319. package/dist/components/text/fonts/handlee.strokes.d.ts.map +1 -0
  320. package/dist/components/text/fonts/handlee.strokes.js +4 -0
  321. package/dist/components/text/fonts/index.d.ts +5 -0
  322. package/dist/components/text/fonts/index.d.ts.map +1 -0
  323. package/dist/components/text/fonts/index.js +44 -0
  324. package/dist/components/text/fonts/indie-flower.outline.d.ts +3 -0
  325. package/dist/components/text/fonts/indie-flower.outline.d.ts.map +1 -0
  326. package/dist/components/text/fonts/indie-flower.outline.js +4 -0
  327. package/dist/components/text/fonts/indie-flower.strokes.d.ts +3 -0
  328. package/dist/components/text/fonts/indie-flower.strokes.d.ts.map +1 -0
  329. package/dist/components/text/fonts/indie-flower.strokes.js +4 -0
  330. package/dist/components/text/fonts/kalam.outline.d.ts +3 -0
  331. package/dist/components/text/fonts/kalam.outline.d.ts.map +1 -0
  332. package/dist/components/text/fonts/kalam.outline.js +4 -0
  333. package/dist/components/text/fonts/kalam.strokes.d.ts +3 -0
  334. package/dist/components/text/fonts/kalam.strokes.d.ts.map +1 -0
  335. package/dist/components/text/fonts/kalam.strokes.js +4 -0
  336. package/dist/components/text/fonts/kaushan-script.outline.d.ts +3 -0
  337. package/dist/components/text/fonts/kaushan-script.outline.d.ts.map +1 -0
  338. package/dist/components/text/fonts/kaushan-script.outline.js +4 -0
  339. package/dist/components/text/fonts/kaushan-script.strokes.d.ts +3 -0
  340. package/dist/components/text/fonts/kaushan-script.strokes.d.ts.map +1 -0
  341. package/dist/components/text/fonts/kaushan-script.strokes.js +4 -0
  342. package/dist/components/text/fonts/mynerve.outline.d.ts +3 -0
  343. package/dist/components/text/fonts/mynerve.outline.d.ts.map +1 -0
  344. package/dist/components/text/fonts/mynerve.outline.js +4 -0
  345. package/dist/components/text/fonts/mynerve.strokes.d.ts +3 -0
  346. package/dist/components/text/fonts/mynerve.strokes.d.ts.map +1 -0
  347. package/dist/components/text/fonts/mynerve.strokes.js +4 -0
  348. package/dist/components/text/fonts/nanum-pen-script.outline.d.ts +3 -0
  349. package/dist/components/text/fonts/nanum-pen-script.outline.d.ts.map +1 -0
  350. package/dist/components/text/fonts/nanum-pen-script.outline.js +4 -0
  351. package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts +3 -0
  352. package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts.map +1 -0
  353. package/dist/components/text/fonts/nanum-pen-script.strokes.js +4 -0
  354. package/dist/components/text/fonts/pacifico.outline.d.ts +3 -0
  355. package/dist/components/text/fonts/pacifico.outline.d.ts.map +1 -0
  356. package/dist/components/text/fonts/pacifico.outline.js +4 -0
  357. package/dist/components/text/fonts/pacifico.strokes.d.ts +3 -0
  358. package/dist/components/text/fonts/pacifico.strokes.d.ts.map +1 -0
  359. package/dist/components/text/fonts/pacifico.strokes.js +4 -0
  360. package/dist/components/text/fonts/patrick-hand.outline.d.ts +3 -0
  361. package/dist/components/text/fonts/patrick-hand.outline.d.ts.map +1 -0
  362. package/dist/components/text/fonts/patrick-hand.outline.js +4 -0
  363. package/dist/components/text/fonts/patrick-hand.strokes.d.ts +3 -0
  364. package/dist/components/text/fonts/patrick-hand.strokes.d.ts.map +1 -0
  365. package/dist/components/text/fonts/patrick-hand.strokes.js +4 -0
  366. package/dist/components/text/fonts/poppins.outline.d.ts +3 -0
  367. package/dist/components/text/fonts/poppins.outline.d.ts.map +1 -0
  368. package/dist/components/text/fonts/poppins.outline.js +4 -0
  369. package/dist/components/text/fonts/poppins.strokes.d.ts +3 -0
  370. package/dist/components/text/fonts/poppins.strokes.d.ts.map +1 -0
  371. package/dist/components/text/fonts/poppins.strokes.js +4 -0
  372. package/dist/components/text/fonts/satisfy.outline.d.ts +3 -0
  373. package/dist/components/text/fonts/satisfy.outline.d.ts.map +1 -0
  374. package/dist/components/text/fonts/satisfy.outline.js +4 -0
  375. package/dist/components/text/fonts/satisfy.strokes.d.ts +3 -0
  376. package/dist/components/text/fonts/satisfy.strokes.d.ts.map +1 -0
  377. package/dist/components/text/fonts/satisfy.strokes.js +4 -0
  378. package/dist/components/text/fonts/sriracha.outline.d.ts +3 -0
  379. package/dist/components/text/fonts/sriracha.outline.d.ts.map +1 -0
  380. package/dist/components/text/fonts/sriracha.outline.js +4 -0
  381. package/dist/components/text/fonts/sriracha.strokes.d.ts +3 -0
  382. package/dist/components/text/fonts/sriracha.strokes.d.ts.map +1 -0
  383. package/dist/components/text/fonts/sriracha.strokes.js +4 -0
  384. package/dist/components/text/index.d.ts +27 -0
  385. package/dist/components/text/index.d.ts.map +1 -0
  386. package/dist/components/text/index.js +13 -0
  387. package/dist/components/text/useTextObject.d.ts +21 -0
  388. package/dist/components/text/useTextObject.d.ts.map +1 -0
  389. package/dist/components/text/useTextObject.js +118 -0
  390. package/dist/components/water/OceanSurface.d.ts.map +1 -1
  391. package/dist/components/water/OceanSurface.js +3 -1
  392. package/dist/components/water/WaterBody.d.ts.map +1 -1
  393. package/dist/components/water/WaterBody.js +3 -1
  394. package/dist/components/water/types.d.ts +5 -1
  395. package/dist/components/water/types.d.ts.map +1 -1
  396. package/dist/constants.d.ts +1 -1
  397. package/dist/constants.d.ts.map +1 -1
  398. package/dist/constants.js +5 -1
  399. package/dist/hooks/index.d.ts +2 -0
  400. package/dist/hooks/index.d.ts.map +1 -1
  401. package/dist/hooks/index.js +1 -0
  402. package/dist/hooks/useCloudSun.d.ts +9 -4
  403. package/dist/hooks/useCloudSun.d.ts.map +1 -1
  404. package/dist/hooks/useCloudSun.js +17 -7
  405. package/dist/hooks/useConfigLive.d.ts +3 -2
  406. package/dist/hooks/useConfigLive.d.ts.map +1 -1
  407. package/dist/hooks/useContinuousEffects.d.ts.map +1 -1
  408. package/dist/hooks/useContinuousEffects.js +4 -10
  409. package/dist/hooks/useEnvironmentProbe.d.ts +3 -22
  410. package/dist/hooks/useEnvironmentProbe.d.ts.map +1 -1
  411. package/dist/hooks/useEnvironmentProbe.js +47 -8
  412. package/dist/hooks/useGridSurface.d.ts +3 -10
  413. package/dist/hooks/useGridSurface.d.ts.map +1 -1
  414. package/dist/hooks/useGridSurface.js +5 -31
  415. package/dist/hooks/useInteraction.d.ts.map +1 -1
  416. package/dist/hooks/useInteraction.js +19 -72
  417. package/dist/hooks/useLightConfig.d.ts +2 -1
  418. package/dist/hooks/useLightConfig.d.ts.map +1 -1
  419. package/dist/hooks/useOceanMaterial.d.ts +6 -2
  420. package/dist/hooks/useOceanMaterial.d.ts.map +1 -1
  421. package/dist/hooks/useOceanMaterial.js +37 -2
  422. package/dist/hooks/useSkyLive.d.ts +23 -0
  423. package/dist/hooks/useSkyLive.d.ts.map +1 -0
  424. package/dist/hooks/useSkyLive.js +30 -0
  425. package/dist/hooks/useSkyUniforms.d.ts.map +1 -1
  426. package/dist/hooks/useSkyUniforms.js +2 -10
  427. package/dist/hooks/useTerrainLive.d.ts +3 -1
  428. package/dist/hooks/useTerrainLive.d.ts.map +1 -1
  429. package/dist/hooks/useTerrainTextures.d.ts +38 -0
  430. package/dist/hooks/useTerrainTextures.d.ts.map +1 -0
  431. package/dist/hooks/useTerrainTextures.js +149 -0
  432. package/dist/index.d.ts +11 -2
  433. package/dist/index.d.ts.map +1 -1
  434. package/dist/index.js +8 -1
  435. package/dist/operations/catalogue/blastOff.d.ts +3 -0
  436. package/dist/operations/catalogue/blastOff.d.ts.map +1 -0
  437. package/dist/operations/catalogue/blastOff.js +118 -0
  438. package/dist/operations/catalogue/bounce.d.ts +3 -0
  439. package/dist/operations/catalogue/bounce.d.ts.map +1 -0
  440. package/dist/operations/catalogue/bounce.js +34 -0
  441. package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -1
  442. package/dist/operations/catalogue/curlSmoke.js +3 -1
  443. package/dist/operations/catalogue/dissolve.d.ts.map +1 -1
  444. package/dist/operations/catalogue/dissolve.js +2 -1
  445. package/dist/operations/catalogue/driftUp.d.ts +3 -0
  446. package/dist/operations/catalogue/driftUp.d.ts.map +1 -0
  447. package/dist/operations/catalogue/driftUp.js +57 -0
  448. package/dist/operations/catalogue/emberAsh.d.ts.map +1 -1
  449. package/dist/operations/catalogue/emberAsh.js +2 -1
  450. package/dist/operations/catalogue/flip.d.ts.map +1 -1
  451. package/dist/operations/catalogue/flip.js +19 -9
  452. package/dist/operations/catalogue/float.d.ts +3 -0
  453. package/dist/operations/catalogue/float.d.ts.map +1 -0
  454. package/dist/operations/catalogue/float.js +39 -0
  455. package/dist/operations/catalogue/flyBy.d.ts +3 -0
  456. package/dist/operations/catalogue/flyBy.d.ts.map +1 -0
  457. package/dist/operations/catalogue/flyBy.js +79 -0
  458. package/dist/operations/catalogue/frost.d.ts.map +1 -1
  459. package/dist/operations/catalogue/frost.js +10 -3
  460. package/dist/operations/catalogue/grow.d.ts +3 -0
  461. package/dist/operations/catalogue/grow.d.ts.map +1 -0
  462. package/dist/operations/catalogue/grow.js +19 -0
  463. package/dist/operations/catalogue/hologram.d.ts.map +1 -1
  464. package/dist/operations/catalogue/hologram.js +11 -5
  465. package/dist/operations/catalogue/jelly.d.ts.map +1 -1
  466. package/dist/operations/catalogue/jelly.js +18 -8
  467. package/dist/operations/catalogue/knockAway.d.ts +3 -0
  468. package/dist/operations/catalogue/knockAway.d.ts.map +1 -0
  469. package/dist/operations/catalogue/knockAway.js +74 -0
  470. package/dist/operations/catalogue/leafFall.d.ts +3 -0
  471. package/dist/operations/catalogue/leafFall.d.ts.map +1 -0
  472. package/dist/operations/catalogue/leafFall.js +74 -0
  473. package/dist/operations/catalogue/lidarScan.d.ts.map +1 -1
  474. package/dist/operations/catalogue/lidarScan.js +4 -1
  475. package/dist/operations/catalogue/metalize.d.ts.map +1 -1
  476. package/dist/operations/catalogue/metalize.js +8 -2
  477. package/dist/operations/catalogue/motionTrail.d.ts +6 -0
  478. package/dist/operations/catalogue/motionTrail.d.ts.map +1 -0
  479. package/dist/operations/catalogue/motionTrail.js +221 -0
  480. package/dist/operations/catalogue/petrify.d.ts.map +1 -1
  481. package/dist/operations/catalogue/petrify.js +9 -3
  482. package/dist/operations/catalogue/physicalExit.d.ts +55 -0
  483. package/dist/operations/catalogue/physicalExit.d.ts.map +1 -0
  484. package/dist/operations/catalogue/physicalExit.js +165 -0
  485. package/dist/operations/catalogue/physicalHeld.d.ts +41 -0
  486. package/dist/operations/catalogue/physicalHeld.d.ts.map +1 -0
  487. package/dist/operations/catalogue/physicalHeld.js +78 -0
  488. package/dist/operations/catalogue/physicalMix.d.ts +45 -0
  489. package/dist/operations/catalogue/physicalMix.d.ts.map +1 -0
  490. package/dist/operations/catalogue/physicalMix.js +144 -0
  491. package/dist/operations/catalogue/pop.d.ts +3 -0
  492. package/dist/operations/catalogue/pop.d.ts.map +1 -0
  493. package/dist/operations/catalogue/pop.js +44 -0
  494. package/dist/operations/catalogue/print3d.d.ts.map +1 -1
  495. package/dist/operations/catalogue/print3d.js +5 -1
  496. package/dist/operations/catalogue/pulse.d.ts +3 -0
  497. package/dist/operations/catalogue/pulse.d.ts.map +1 -0
  498. package/dist/operations/catalogue/pulse.js +29 -0
  499. package/dist/operations/catalogue/restPose.d.ts +5 -7
  500. package/dist/operations/catalogue/restPose.d.ts.map +1 -1
  501. package/dist/operations/catalogue/restPose.js +18 -48
  502. package/dist/operations/catalogue/rotate.d.ts +3 -0
  503. package/dist/operations/catalogue/rotate.d.ts.map +1 -0
  504. package/dist/operations/catalogue/rotate.js +49 -0
  505. package/dist/operations/catalogue/shake.d.ts +3 -0
  506. package/dist/operations/catalogue/shake.d.ts.map +1 -0
  507. package/dist/operations/catalogue/shake.js +31 -0
  508. package/dist/operations/catalogue/shatter.d.ts.map +1 -1
  509. package/dist/operations/catalogue/shatter.js +5 -1
  510. package/dist/operations/catalogue/slam.d.ts +3 -0
  511. package/dist/operations/catalogue/slam.d.ts.map +1 -0
  512. package/dist/operations/catalogue/slam.js +89 -0
  513. package/dist/operations/catalogue/slingshot.d.ts +3 -0
  514. package/dist/operations/catalogue/slingshot.d.ts.map +1 -0
  515. package/dist/operations/catalogue/slingshot.js +88 -0
  516. package/dist/operations/catalogue/spin.d.ts.map +1 -1
  517. package/dist/operations/catalogue/spin.js +24 -13
  518. package/dist/operations/catalogue/sway.d.ts +3 -0
  519. package/dist/operations/catalogue/sway.d.ts.map +1 -0
  520. package/dist/operations/catalogue/sway.js +23 -0
  521. package/dist/operations/catalogue/swirl.d.ts.map +1 -1
  522. package/dist/operations/catalogue/swirl.js +6 -5
  523. package/dist/operations/catalogue/trailCore.d.ts +89 -0
  524. package/dist/operations/catalogue/trailCore.d.ts.map +1 -0
  525. package/dist/operations/catalogue/trailCore.js +190 -0
  526. package/dist/operations/catalogue/trailGhosts.d.ts +5 -0
  527. package/dist/operations/catalogue/trailGhosts.d.ts.map +1 -0
  528. package/dist/operations/catalogue/trailGhosts.js +179 -0
  529. package/dist/operations/catalogue/trailStampStyles.d.ts +11 -0
  530. package/dist/operations/catalogue/trailStampStyles.d.ts.map +1 -0
  531. package/dist/operations/catalogue/trailStampStyles.js +479 -0
  532. package/dist/operations/catalogue/trailStamps.d.ts +57 -0
  533. package/dist/operations/catalogue/trailStamps.d.ts.map +1 -0
  534. package/dist/operations/catalogue/trailStamps.js +349 -0
  535. package/dist/operations/catalogue/trailStreaks.d.ts +3 -0
  536. package/dist/operations/catalogue/trailStreaks.d.ts.map +1 -0
  537. package/dist/operations/catalogue/trailStreaks.js +147 -0
  538. package/dist/operations/catalogue/transitionField.d.ts +30 -0
  539. package/dist/operations/catalogue/transitionField.d.ts.map +1 -1
  540. package/dist/operations/catalogue/transitionField.js +21 -0
  541. package/dist/operations/catalogue/turnAway.d.ts +3 -0
  542. package/dist/operations/catalogue/turnAway.d.ts.map +1 -0
  543. package/dist/operations/catalogue/turnAway.js +54 -0
  544. package/dist/operations/catalogue/vortexDrain.d.ts +3 -0
  545. package/dist/operations/catalogue/vortexDrain.d.ts.map +1 -0
  546. package/dist/operations/catalogue/vortexDrain.js +68 -0
  547. package/dist/operations/catalogue/warp.d.ts +3 -0
  548. package/dist/operations/catalogue/warp.d.ts.map +1 -0
  549. package/dist/operations/catalogue/warp.js +73 -0
  550. package/dist/operations/catalogue/whoosh.d.ts +3 -0
  551. package/dist/operations/catalogue/whoosh.d.ts.map +1 -0
  552. package/dist/operations/catalogue/whoosh.js +84 -0
  553. package/dist/operations/catalogue/wobble.d.ts +3 -0
  554. package/dist/operations/catalogue/wobble.d.ts.map +1 -0
  555. package/dist/operations/catalogue/wobble.js +23 -0
  556. package/dist/operations/clipPreview.d.ts +3 -0
  557. package/dist/operations/clipPreview.d.ts.map +1 -0
  558. package/dist/operations/clipPreview.js +20 -0
  559. package/dist/operations/groupFanout.d.ts +96 -0
  560. package/dist/operations/groupFanout.d.ts.map +1 -0
  561. package/dist/operations/groupFanout.js +365 -0
  562. package/dist/operations/groups.d.ts +20 -0
  563. package/dist/operations/groups.d.ts.map +1 -0
  564. package/dist/operations/groups.js +66 -0
  565. package/dist/operations/index.d.ts +5 -2
  566. package/dist/operations/index.d.ts.map +1 -1
  567. package/dist/operations/index.js +5 -2
  568. package/dist/operations/objectEffects.d.ts +161 -6
  569. package/dist/operations/objectEffects.d.ts.map +1 -1
  570. package/dist/operations/objectEffects.js +1091 -17
  571. package/dist/operations/registry.d.ts.map +1 -1
  572. package/dist/operations/registry.js +24 -2
  573. package/dist/operations/runtime.d.ts +57 -2
  574. package/dist/operations/runtime.d.ts.map +1 -1
  575. package/dist/operations/runtime.js +161 -18
  576. package/dist/operations/types.d.ts +60 -3
  577. package/dist/operations/types.d.ts.map +1 -1
  578. package/dist/operations/types.js +5 -1
  579. package/dist/operations/useObjectEffectLayers.d.ts +2 -2
  580. package/dist/operations/useObjectEffectLayers.d.ts.map +1 -1
  581. package/dist/operations/useObjectEffectLayers.js +31 -10
  582. package/dist/operations/usePresentedVisibility.d.ts +10 -0
  583. package/dist/operations/usePresentedVisibility.d.ts.map +1 -0
  584. package/dist/operations/usePresentedVisibility.js +53 -0
  585. package/dist/presets/terrainBiomes.d.ts +67 -0
  586. package/dist/presets/terrainBiomes.d.ts.map +1 -0
  587. package/dist/presets/terrainBiomes.js +294 -0
  588. package/dist/presets/terrainPresets.d.ts +6 -0
  589. package/dist/presets/terrainPresets.d.ts.map +1 -1
  590. package/dist/presets/terrainPresets.js +26 -38
  591. package/dist/shaders/glsl/oceanCore.glsl.d.ts +2 -2
  592. package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -1
  593. package/dist/shaders/glsl/oceanCore.glsl.js +17 -0
  594. package/dist/shaders/glsl/surfaceCore.glsl.d.ts +21 -0
  595. package/dist/shaders/glsl/surfaceCore.glsl.d.ts.map +1 -0
  596. package/dist/shaders/glsl/surfaceCore.glsl.js +120 -0
  597. package/dist/shaders/glsl/terrainCore.glsl.d.ts +16 -3
  598. package/dist/shaders/glsl/terrainCore.glsl.d.ts.map +1 -1
  599. package/dist/shaders/glsl/terrainCore.glsl.js +266 -20
  600. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +2 -0
  601. package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -1
  602. package/dist/shaders/ocean/OceanSurfaceMaterial.js +3 -0
  603. package/dist/shaders/terrain/TerrainMaterial.d.ts +17 -0
  604. package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -1
  605. package/dist/shaders/terrain/TerrainMaterial.js +107 -8
  606. package/dist/triggers/engine.d.ts +44 -0
  607. package/dist/triggers/engine.d.ts.map +1 -0
  608. package/dist/triggers/engine.js +165 -0
  609. package/dist/triggers/hosts/actions.d.ts +8 -0
  610. package/dist/triggers/hosts/actions.d.ts.map +1 -0
  611. package/dist/triggers/hosts/actions.js +22 -0
  612. package/dist/triggers/hosts/interactions.d.ts +6 -0
  613. package/dist/triggers/hosts/interactions.d.ts.map +1 -0
  614. package/dist/triggers/hosts/interactions.js +4 -0
  615. package/dist/triggers/hosts/timelineCues.d.ts +2 -0
  616. package/dist/triggers/hosts/timelineCues.d.ts.map +1 -0
  617. package/dist/triggers/hosts/timelineCues.js +22 -0
  618. package/dist/triggers/index.d.ts +13 -0
  619. package/dist/triggers/index.d.ts.map +1 -0
  620. package/dist/triggers/index.js +9 -0
  621. package/dist/triggers/kinds/action.d.ts +2 -0
  622. package/dist/triggers/kinds/action.d.ts.map +1 -0
  623. package/dist/triggers/kinds/action.js +31 -0
  624. package/dist/triggers/kinds/animations.d.ts +2 -0
  625. package/dist/triggers/kinds/animations.d.ts.map +1 -0
  626. package/dist/triggers/kinds/animations.js +75 -0
  627. package/dist/triggers/kinds/effects.d.ts +2 -0
  628. package/dist/triggers/kinds/effects.d.ts.map +1 -0
  629. package/dist/triggers/kinds/effects.js +27 -0
  630. package/dist/triggers/kinds/index.d.ts +4 -0
  631. package/dist/triggers/kinds/index.d.ts.map +1 -0
  632. package/dist/triggers/kinds/index.js +4 -0
  633. package/dist/triggers/log.d.ts +21 -0
  634. package/dist/triggers/log.d.ts.map +1 -0
  635. package/dist/triggers/log.js +43 -0
  636. package/dist/triggers/readiness.d.ts +40 -0
  637. package/dist/triggers/readiness.d.ts.map +1 -0
  638. package/dist/triggers/readiness.js +158 -0
  639. package/dist/triggers/registry.d.ts +41 -0
  640. package/dist/triggers/registry.d.ts.map +1 -0
  641. package/dist/triggers/registry.js +7 -0
  642. package/dist/types/gridConfigs.d.ts +117 -19
  643. package/dist/types/gridConfigs.d.ts.map +1 -1
  644. package/dist/types/index.d.ts +1 -1
  645. package/dist/types/index.d.ts.map +1 -1
  646. package/dist/ui/UiAnchorUpdater.d.ts +10 -0
  647. package/dist/ui/UiAnchorUpdater.d.ts.map +1 -0
  648. package/dist/ui/UiAnchorUpdater.js +111 -0
  649. package/dist/ui/UiLayers.d.ts +20 -0
  650. package/dist/ui/UiLayers.d.ts.map +1 -0
  651. package/dist/ui/UiLayers.js +57 -0
  652. package/dist/ui/index.d.ts +9 -0
  653. package/dist/ui/index.d.ts.map +1 -0
  654. package/dist/ui/index.js +6 -0
  655. package/dist/ui/uiAnchors.d.ts +21 -0
  656. package/dist/ui/uiAnchors.d.ts.map +1 -0
  657. package/dist/ui/uiAnchors.js +22 -0
  658. package/dist/ui/uiBaseStyles.d.ts +2 -0
  659. package/dist/ui/uiBaseStyles.d.ts.map +1 -0
  660. package/dist/ui/uiBaseStyles.js +100 -0
  661. package/dist/ui/uiBinder.d.ts +30 -0
  662. package/dist/ui/uiBinder.d.ts.map +1 -0
  663. package/dist/ui/uiBinder.js +344 -0
  664. package/dist/utils/configAnimations.d.ts.map +1 -1
  665. package/dist/utils/configAnimations.js +5 -1
  666. package/dist/utils/gridConfig.d.ts +1 -1
  667. package/dist/utils/gridConfig.d.ts.map +1 -1
  668. package/dist/utils/gridConfig.js +1 -1
  669. package/dist/utils/landPatch.d.ts +33 -0
  670. package/dist/utils/landPatch.d.ts.map +1 -0
  671. package/dist/utils/landPatch.js +114 -0
  672. package/dist/utils/renderedSky.d.ts +32 -0
  673. package/dist/utils/renderedSky.d.ts.map +1 -0
  674. package/dist/utils/renderedSky.js +57 -0
  675. package/dist/utils/skyMoon.d.ts +35 -0
  676. package/dist/utils/skyMoon.d.ts.map +1 -0
  677. package/dist/utils/skyMoon.js +41 -0
  678. package/dist/utils/terrainHeight.d.ts +4 -0
  679. package/dist/utils/terrainHeight.d.ts.map +1 -0
  680. package/dist/utils/terrainHeight.js +150 -0
  681. package/dist/utils/terrainTextureResolver.d.ts +18 -0
  682. package/dist/utils/terrainTextureResolver.d.ts.map +1 -0
  683. package/dist/utils/terrainTextureResolver.js +17 -0
  684. package/dist/utils/terrainUniforms.d.ts +17 -0
  685. package/dist/utils/terrainUniforms.d.ts.map +1 -1
  686. package/dist/utils/terrainUniforms.js +84 -0
  687. package/dist/utils/textureArrays.d.ts +29 -0
  688. package/dist/utils/textureArrays.d.ts.map +1 -0
  689. package/dist/utils/textureArrays.js +140 -0
  690. package/package.json +2 -2
@@ -0,0 +1,27 @@
1
+ // Triggerables: a single effect (an operation on its targets) and a saved effect clip.
2
+ // They run through the operations runtime exactly as before the engine.
3
+ import { getOperation } from '../../operations/registry.js';
4
+ import { isEffectClipOn, isEffectOn, runEffect, runEffectClip } from '../../operations/runtime.js';
5
+ import { defineTriggerable } from '../registry.js';
6
+ const ids = (targets) => (targets ?? []).filter(t => t && t !== 'self');
7
+ defineTriggerable({
8
+ kind: 'effect',
9
+ commands: ['trigger', 'apply', 'revert', 'toggle'],
10
+ timeline: 'state',
11
+ targets: (c) => ids(c.effect?.targets),
12
+ subject: (c) => c.effect?.operation ?? '',
13
+ // only operations that can be undone are "on" (a spin just plays)
14
+ claimKey: (c) => (c.effect?.id && getOperation(c.effect.operation)?.revert ? `effect:${c.effect.id}` : null),
15
+ isOn: (c, ctx) => isEffectOn(c.effect, ctx.self),
16
+ run: (c, ctx) => runEffect(c.effect, c.command, ctx.self),
17
+ });
18
+ defineTriggerable({
19
+ kind: 'effectClip',
20
+ commands: ['apply', 'revert', 'toggle'],
21
+ timeline: 'state',
22
+ targets: (c) => ids(c.use?.targets),
23
+ subject: (c) => c.use?.clip ?? '',
24
+ claimKey: (c) => (c.use?.id ? `effectClip:${c.use.id}` : null),
25
+ isOn: (c, ctx) => isEffectClipOn(c.use, ctx.self),
26
+ run: (c, ctx) => { runEffectClip(c.use, c.command, ctx.self); },
27
+ });
@@ -0,0 +1,4 @@
1
+ import './effects';
2
+ import './action';
3
+ import './animations';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/triggers/kinds/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Every built-in triggerable kind. Importing this registers them.
2
+ import './effects.js';
3
+ import './action.js';
4
+ import './animations.js';
@@ -0,0 +1,21 @@
1
+ import type { SceneCommandKind, TriggerSource } from '@3driseai/3drise-core';
2
+ export type TriggerLogType = 'run' | 'queued' | 'waiting' | 'timeout' | 'claim' | 'release' | 'clash' | 'cycle' | 'refused' | 'unknown';
3
+ export interface TriggerLogEntry {
4
+ t: number;
5
+ type: TriggerLogType;
6
+ kind?: SceneCommandKind | string;
7
+ /** What it acted on (an action / clip / sequence id, an effect operation…). */
8
+ subject?: string;
9
+ source: TriggerSource;
10
+ /** The sources above it, outermost first. */
11
+ chain: TriggerSource[];
12
+ detail?: string;
13
+ }
14
+ export declare const describeSource: (s: TriggerSource) => string;
15
+ export declare function logTrigger(e: Omit<TriggerLogEntry, 't'>): void;
16
+ /** The recent entries (oldest first), optionally of some types. */
17
+ export declare function getTriggerLog(types?: TriggerLogType[]): TriggerLogEntry[];
18
+ export declare function clearTriggerLog(): void;
19
+ /** Subscribe to new entries. Returns the unsubscribe. */
20
+ export declare function onTriggerLog(listener: (e: TriggerLogEntry) => void): () => void;
21
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/triggers/log.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,cAAc,GACpB,KAAK,GACL,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEhB,MAAM,WAAW,eAAe;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACjC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,6CAA6C;IAC7C,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,cAAc,GAAI,GAAG,aAAa,WAAwB,CAAC;AAQxE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,IAAI,CAU9D;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAEzE;AAED,wBAAgB,eAAe,IAAI,IAAI,CAAwB;AAE/D,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAG/E"}
@@ -0,0 +1,43 @@
1
+ const MAX = 500;
2
+ const entries = [];
3
+ const listeners = new Set();
4
+ const LOUD = new Set(['timeout', 'clash', 'cycle', 'refused', 'unknown']);
5
+ export const describeSource = (s) => `${s.host}:${s.id}`;
6
+ function debugOn() {
7
+ try {
8
+ return !!globalThis.__3driseTriggersDebug || (typeof localStorage !== 'undefined' && localStorage.getItem('3drise:triggers') === '1');
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ }
14
+ export function logTrigger(e) {
15
+ const entry = { t: Date.now(), ...e };
16
+ entries.push(entry);
17
+ if (entries.length > MAX)
18
+ entries.splice(0, entries.length - MAX);
19
+ if (LOUD.has(e.type) || debugOn()) {
20
+ const via = e.chain.length ? ` via ${e.chain.map(describeSource).join(' → ')}` : '';
21
+ const msg = `[3drise] triggers: ${e.type} ${e.kind ?? ''}${e.subject ? ` "${e.subject}"` : ''} from ${describeSource(e.source)}${via}${e.detail ? ` — ${e.detail}` : ''}`;
22
+ if (LOUD.has(e.type))
23
+ console.warn(msg);
24
+ else
25
+ console.info(msg);
26
+ }
27
+ for (const l of listeners) {
28
+ try {
29
+ l(entry);
30
+ }
31
+ catch { /* listener error */ }
32
+ }
33
+ }
34
+ /** The recent entries (oldest first), optionally of some types. */
35
+ export function getTriggerLog(types) {
36
+ return types ? entries.filter(e => types.includes(e.type)) : entries.slice();
37
+ }
38
+ export function clearTriggerLog() { entries.length = 0; }
39
+ /** Subscribe to new entries. Returns the unsubscribe. */
40
+ export function onTriggerLog(listener) {
41
+ listeners.add(listener);
42
+ return () => { listeners.delete(listener); };
43
+ }
@@ -0,0 +1,40 @@
1
+ export type SceneReadinessStatus = 'idle' | 'loading' | 'ready';
2
+ declare class SceneReadiness {
3
+ private status;
4
+ private expected;
5
+ /** Reports arrive whenever a model lands — before begin() too, so they are kept. */
6
+ private loaded;
7
+ private failed;
8
+ private compile;
9
+ private waiters;
10
+ private listeners;
11
+ private timer;
12
+ private startedAt;
13
+ private finishing;
14
+ private generation;
15
+ getStatus(): SceneReadinessStatus;
16
+ /** True when nothing is gating (studio) or the scene is ready. */
17
+ isReady(): boolean;
18
+ /** A published scene starts: wait for these models, then compile, then one frame. */
19
+ begin(modelIds: string[], opts?: {
20
+ compile?: () => Promise<unknown>;
21
+ }): void;
22
+ /** A model's Object3D is in the scene. */
23
+ report(id: string): void;
24
+ /** A model failed to load — it will never report; don't wait for it. */
25
+ fail(id: string, reason?: unknown): void;
26
+ /** Run now if ready, else once the scene is ready. Returns a cancel. */
27
+ whenReady(fn: () => void): () => void;
28
+ subscribe: (listener: () => void) => (() => void);
29
+ /** The scene left the page: forget everything, gate open. */
30
+ reset(): void;
31
+ private check;
32
+ private finish;
33
+ private clearTimer;
34
+ private emit;
35
+ }
36
+ export declare const sceneReadiness: SceneReadiness;
37
+ /** True when the scene is ready (or nothing gates it, as in the studio). Re-renders on change. */
38
+ export declare function useSceneReady(): boolean;
39
+ export {};
40
+ //# sourceMappingURL=readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/triggers/readiness.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAMhE,cAAM,cAAc;IAChB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAqB;IACrC,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,IAAI,oBAAoB;IACjC,kEAAkE;IAClE,OAAO,IAAI,OAAO;IAElB,qFAAqF;IACrF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAO,GAAG,IAAI;IAmBhF,0CAA0C;IAC1C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxB,wEAAwE;IACxE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAOxC,wEAAwE;IACxE,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAMrC,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAG9C;IAEF,6DAA6D;IAC7D,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,KAAK;YAMC,MAAM;IA2BpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,IAAI;CAGf;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAEnD,kGAAkG;AAClG,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
@@ -0,0 +1,158 @@
1
+ // =============================================================================
2
+ // Scene readiness — nothing runs before the scene is ready.
3
+ // =============================================================================
4
+ //
5
+ // A published scene (SceneBuilder) is READY when:
6
+ // 1. every model it holds has loaded (ModelPrimitive reports it) or failed (ModelBoundary), and
7
+ // 2. the scene's shaders are compiled (renderer.compileAsync), and
8
+ // 3. one frame has rendered.
9
+ // Only then do autoplay sequences start, object effects start, onSceneReady fires and the
10
+ // loading cover lifts. A model that never reports doesn't hold the scene forever: after
11
+ // TIMEOUT_MS it goes ready anyway and the missing ids are logged.
12
+ //
13
+ // Objects other than models mount in the same commit as the scene and are not waited on.
14
+ //
15
+ // The studio never calls begin(): its scene is live (objects come and go), so the gate
16
+ // stays open there ('idle' counts as ready). Targets that don't exist yet are the
17
+ // triggers engine's per-target wait (plan phase 2).
18
+ //
19
+ // One scene per page, like SceneStore.
20
+ //
21
+ import { useSyncExternalStore } from 'react';
22
+ const TIMEOUT_MS = 15000;
23
+ const COMPILE_TIMEOUT_MS = 5000;
24
+ const log = (...a) => console.info('[3drise] scene', ...a);
25
+ class SceneReadiness {
26
+ status = 'idle';
27
+ expected = new Set();
28
+ /** Reports arrive whenever a model lands — before begin() too, so they are kept. */
29
+ loaded = new Set();
30
+ failed = new Set();
31
+ compile = null;
32
+ waiters = [];
33
+ listeners = new Set();
34
+ timer = null;
35
+ startedAt = 0;
36
+ finishing = false;
37
+ generation = 0;
38
+ getStatus() { return this.status; }
39
+ /** True when nothing is gating (studio) or the scene is ready. */
40
+ isReady() { return this.status !== 'loading'; }
41
+ /** A published scene starts: wait for these models, then compile, then one frame. */
42
+ begin(modelIds, opts = {}) {
43
+ this.clearTimer();
44
+ this.generation++;
45
+ this.status = 'loading';
46
+ this.finishing = false;
47
+ this.expected = new Set(modelIds.filter(Boolean));
48
+ this.compile = opts.compile ?? null;
49
+ this.startedAt = performance.now();
50
+ this.emit();
51
+ const gen = this.generation;
52
+ this.timer = setTimeout(() => {
53
+ if (gen !== this.generation || this.status !== 'loading')
54
+ return;
55
+ const missing = [...this.expected].filter(id => !this.loaded.has(id) && !this.failed.has(id));
56
+ console.warn(`[3drise] scene: ${missing.length} model(s) never reported within ${TIMEOUT_MS / 1000}s — going ready without them`, missing);
57
+ void this.finish();
58
+ }, TIMEOUT_MS);
59
+ this.check();
60
+ }
61
+ /** A model's Object3D is in the scene. */
62
+ report(id) {
63
+ if (!id || this.loaded.has(id))
64
+ return;
65
+ this.loaded.add(id);
66
+ this.check();
67
+ }
68
+ /** A model failed to load — it will never report; don't wait for it. */
69
+ fail(id, reason) {
70
+ if (!id || this.failed.has(id))
71
+ return;
72
+ this.failed.add(id);
73
+ console.warn(`[3drise] scene: model ${id} failed to load — not waiting for it`, reason ?? '');
74
+ this.check();
75
+ }
76
+ /** Run now if ready, else once the scene is ready. Returns a cancel. */
77
+ whenReady(fn) {
78
+ if (this.isReady()) {
79
+ fn();
80
+ return () => { };
81
+ }
82
+ this.waiters.push(fn);
83
+ return () => { this.waiters = this.waiters.filter(w => w !== fn); };
84
+ }
85
+ subscribe = (listener) => {
86
+ this.listeners.add(listener);
87
+ return () => { this.listeners.delete(listener); };
88
+ };
89
+ /** The scene left the page: forget everything, gate open. */
90
+ reset() {
91
+ this.clearTimer();
92
+ this.generation++;
93
+ this.status = 'idle';
94
+ this.finishing = false;
95
+ this.expected.clear();
96
+ this.loaded.clear();
97
+ this.failed.clear();
98
+ this.compile = null;
99
+ this.waiters = [];
100
+ this.emit();
101
+ }
102
+ check() {
103
+ if (this.status !== 'loading' || this.finishing)
104
+ return;
105
+ for (const id of this.expected)
106
+ if (!this.loaded.has(id) && !this.failed.has(id))
107
+ return;
108
+ void this.finish();
109
+ }
110
+ async finish() {
111
+ if (this.finishing || this.status !== 'loading')
112
+ return;
113
+ this.finishing = true;
114
+ this.clearTimer();
115
+ const gen = this.generation;
116
+ const modelsAt = performance.now();
117
+ if (this.compile) {
118
+ try {
119
+ await Promise.race([this.compile(), new Promise(r => setTimeout(r, COMPILE_TIMEOUT_MS))]);
120
+ }
121
+ catch (e) {
122
+ console.warn('[3drise] scene: shader compile failed, going on', e);
123
+ }
124
+ }
125
+ // one rendered frame, so what is shown is what runs
126
+ await new Promise(r => requestAnimationFrame(() => requestAnimationFrame(() => r())));
127
+ if (gen !== this.generation)
128
+ return; // reset / begun again meanwhile
129
+ this.status = 'ready';
130
+ const t = (n) => `${Math.round(n - this.startedAt)}ms`;
131
+ log(`ready in ${t(performance.now())} (models ${t(modelsAt)}, ${[...this.expected].filter(id => this.loaded.has(id)).length}/${this.expected.size} loaded${this.failed.size ? `, ${this.failed.size} failed` : ''})`);
132
+ this.emit();
133
+ const run = this.waiters;
134
+ this.waiters = [];
135
+ for (const w of run) {
136
+ try {
137
+ w();
138
+ }
139
+ catch (e) {
140
+ console.error('[3drise] scene: a ready callback failed', e);
141
+ }
142
+ }
143
+ }
144
+ clearTimer() {
145
+ if (this.timer)
146
+ clearTimeout(this.timer);
147
+ this.timer = null;
148
+ }
149
+ emit() {
150
+ for (const l of this.listeners)
151
+ l();
152
+ }
153
+ }
154
+ export const sceneReadiness = new SceneReadiness();
155
+ /** True when the scene is ready (or nothing gates it, as in the studio). Re-renders on change. */
156
+ export function useSceneReady() {
157
+ return useSyncExternalStore(sceneReadiness.subscribe, () => sceneReadiness.isReady(), () => true);
158
+ }
@@ -0,0 +1,41 @@
1
+ import type { Object3D } from 'three';
2
+ import type { SceneCommand, SceneCommandKind, TriggerSource } from '@3driseai/3drise-core';
3
+ export interface TriggerContext {
4
+ source: TriggerSource;
5
+ /** The sources above this one, outermost first (what triggered what). */
6
+ chain: TriggerSource[];
7
+ /** The object an interaction is on ('self' in targets). */
8
+ self?: Object3D | null;
9
+ /** Action only: false = its patches without its effects (a sequence posed / scrubbed, the editor's preview). */
10
+ effects?: boolean;
11
+ }
12
+ export type CommandOf<K extends SceneCommandKind> = Extract<SceneCommand, {
13
+ kind: K;
14
+ }>;
15
+ export interface Triggerable<K extends SceneCommandKind = SceneCommandKind> {
16
+ kind: K;
17
+ /** Command verbs it accepts. */
18
+ commands: readonly string[];
19
+ /**
20
+ * As a cue on a timeline: 'state' — on / off at any moment (scrub-safe);
21
+ * 'event' — fires when the playhead moves forward across it.
22
+ */
23
+ timeline: 'state' | 'event';
24
+ /** A timeline itself (clip / sequence): a timeline can't trigger one. */
25
+ isTimeline?: boolean;
26
+ /** Scene object ids it acts on ('self' excluded) — the engine waits for them to mount. */
27
+ targets?(cmd: CommandOf<K>): string[];
28
+ /** A short name of what it acts on, for the log. */
29
+ subject(cmd: CommandOf<K>): string;
30
+ /**
31
+ * Stateful kinds: the claim key and whether it is on now — the engine tracks who
32
+ * switched it on, to notice clashes. Event kinds leave it out.
33
+ */
34
+ claimKey?(cmd: CommandOf<K>): string | null;
35
+ isOn?(cmd: CommandOf<K>, ctx: TriggerContext): boolean;
36
+ run(cmd: CommandOf<K>, ctx: TriggerContext): void;
37
+ }
38
+ export declare function defineTriggerable<K extends SceneCommandKind>(def: Triggerable<K>): Triggerable<K>;
39
+ export declare const getTriggerable: (kind: string) => Triggerable<any> | undefined;
40
+ export declare const triggerableKinds: () => string[];
41
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/triggers/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,gHAAgH;IAChH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACtE,IAAI,EAAE,CAAC,CAAC;IACR,gCAAgC;IAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0FAA0F;IAC1F,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;IACtC,oDAAoD;IACpD,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;IACvD,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;CACrD;AAID,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAGjG;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,WAAW,CAAC,GAAG,CAAC,GAAG,SAA4B,CAAC;AAC9F,eAAO,MAAM,gBAAgB,QAAO,MAAM,EAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ const kinds = new Map();
2
+ export function defineTriggerable(def) {
3
+ kinds.set(def.kind, def);
4
+ return def;
5
+ }
6
+ export const getTriggerable = (kind) => kinds.get(kind);
7
+ export const triggerableKinds = () => [...kinds.keys()];
@@ -38,8 +38,6 @@ export interface GridSurfaceConfig {
38
38
  size: number;
39
39
  /** plane subdivisions per side; auto-derived when omitted, bumped when `displace > 0` */
40
40
  segments?: number;
41
- /** lay flat on XZ (true) or stand upright on XY (false) */
42
- flat: boolean;
43
41
  /** base size of one tile in world units */
44
42
  cellSize: number;
45
43
  lineMode: GridLineMode;
@@ -64,8 +62,6 @@ export interface GridSurfaceConfig {
64
62
  glowColor: string;
65
63
  bgColor: string;
66
64
  bgOpacity: number;
67
- /** project the pointer onto the plane and feed it to the focus point */
68
- followMouse: boolean;
69
65
  /**
70
66
  * 0..1 assemble amount. The build boundary sweeps outward from the focus
71
67
  * point with a bright leading edge. Defaults to 1 (fully built); animate it
@@ -83,7 +79,7 @@ export interface GridSurfaceConfig {
83
79
  * Honeycomb tiling. `cellSize` is the hex's flat-to-flat width, `sectionSize`
84
80
  * groups hexes into super-hexes drawn in `sectionColor`.
85
81
  */
86
- export interface HexGridConfig extends GridSurfaceConfig {
82
+ export interface HexGridConfig extends GridSurfaceBaseConfig {
87
83
  /**
88
84
  * With `displace > 0`, each hex lifts to its own height instead of riding a
89
85
  * smooth wave — a plated, tessellated-terrain look with vertical walls.
@@ -94,7 +90,7 @@ export interface HexGridConfig extends GridSurfaceConfig {
94
90
  * Truchet circuit board. Each tile picks one of two arc rotations, so traces
95
91
  * connect across tiles into long meandering paths.
96
92
  */
97
- export interface CircuitGridConfig extends GridSurfaceConfig {
93
+ export interface CircuitGridConfig extends GridSurfaceBaseConfig {
98
94
  /** 0..1 — fraction of tiles that carry a powered trace */
99
95
  powered: number;
100
96
  /** 0..1 — fraction of tiles replaced by an IC package. 0 disables chips */
@@ -106,7 +102,7 @@ export interface CircuitGridConfig extends GridSurfaceConfig {
106
102
  * Voronoi lattice — irregular cells that drift and morph. `cellSize` is the
107
103
  * average cell width; `sectionColor`/`sectionWidth` draw the cell nuclei.
108
104
  */
109
- export interface VoronoiGridConfig extends GridSurfaceConfig {
105
+ export interface VoronoiGridConfig extends GridSurfaceBaseConfig {
110
106
  /** 0 = regular square lattice, 1 = fully scattered seeds */
111
107
  jitter: number;
112
108
  /** how far the seeds wander over time; 0 freezes the lattice */
@@ -116,7 +112,7 @@ export interface VoronoiGridConfig extends GridSurfaceConfig {
116
112
  * Polar HUD. `cellSize` is the ring spacing, `sectionSize` marks every Nth ring
117
113
  * as a major ring, and the surface is masked to a disc of `fadeDistance`.
118
114
  */
119
- export interface RadarGridConfig extends GridSurfaceConfig {
115
+ export interface RadarGridConfig extends GridSurfaceBaseConfig {
120
116
  /** number of radial spokes; 0 disables them */
121
117
  spokes: number;
122
118
  /** angular length of the sweep trail, as a fraction of a full turn; 0 disables the sweep */
@@ -129,7 +125,7 @@ export interface RadarGridConfig extends GridSurfaceConfig {
129
125
  * pattern. `cellSize` is the base spacing; the second layer differs from the
130
126
  * first by `layerAngle` and `layerScale`.
131
127
  */
132
- export interface MoireGridConfig extends GridSurfaceConfig {
128
+ export interface MoireGridConfig extends GridSurfaceBaseConfig {
133
129
  /** lattice shape for both layers */
134
130
  shape: 'square' | 'hex' | 'rings';
135
131
  /** fixed angle between the two layers, in radians. Small values beat slowly */
@@ -144,7 +140,7 @@ export interface MoireGridConfig extends GridSurfaceConfig {
144
140
  * where you are pointing and coarse at the edges. `cellSize` is the level-0
145
141
  * cell; each level halves it.
146
142
  */
147
- export interface FractalGridConfig extends GridSurfaceConfig {
143
+ export interface FractalGridConfig extends GridSurfaceBaseConfig {
148
144
  /** maximum subdivision levels, 1..6 */
149
145
  depth: number;
150
146
  /** radius around the focus, in level-0 cells, inside which cells subdivide */
@@ -159,7 +155,7 @@ export interface FractalGridConfig extends GridSurfaceConfig {
159
155
  * `displace` is literal here rather than decorative: the vertex stage raises
160
156
  * the surface to exactly the elevation the contours describe.
161
157
  */
162
- export interface ContourGridConfig extends GridSurfaceConfig {
158
+ export interface ContourGridConfig extends GridSurfaceBaseConfig {
163
159
  /** number of contour steps across the full height range */
164
160
  levels: number;
165
161
  /** fbm gain — 0.35 rolling, 0.65 craggy */
@@ -172,7 +168,7 @@ export interface ContourGridConfig extends GridSurfaceConfig {
172
168
  * The intersections never repeat, so the pattern never tiles back on itself
173
169
  * however far the camera travels.
174
170
  */
175
- export interface QuasiGridConfig extends GridSurfaceConfig {
171
+ export interface QuasiGridConfig extends GridSurfaceBaseConfig {
176
172
  /**
177
173
  * How many line families, 3..9. 5 is Penrose. 4 and 6 divide the half-turn
178
174
  * evenly and so come out periodic; everything else is quasiperiodic.
@@ -185,7 +181,7 @@ export interface QuasiGridConfig extends GridSurfaceConfig {
185
181
  * Potential flow past a cylinder, drawn as a flow net. `cellSize` is the net
186
182
  * spacing; the cylinder sits at the focus point, so `followMouse` drags it.
187
183
  */
188
- export interface FlowNetGridConfig extends GridSurfaceConfig {
184
+ export interface FlowNetGridConfig extends GridSurfaceBaseConfig {
189
185
  /** cylinder radius, in cells */
190
186
  obstacleRadius: number;
191
187
  /** circulation around the cylinder, in whole units; shifts the flow to one side (lift) */
@@ -198,7 +194,7 @@ export interface FlowNetGridConfig extends GridSurfaceConfig {
198
194
  * the size of one plate; `sectionSize` plates make one outlined group.
199
195
  * `displace` vibrates the plate with the wave itself.
200
196
  */
201
- export interface ChladniGridConfig extends GridSurfaceConfig {
197
+ export interface ChladniGridConfig extends GridSurfaceBaseConfig {
202
198
  /** first mode number of the standing wave, 1..12 */
203
199
  modeN: number;
204
200
  /** second mode number of the standing wave, 1..12 */
@@ -213,7 +209,7 @@ export interface ChladniGridConfig extends GridSurfaceConfig {
213
209
  * units; `lineWidth` / `sectionWidth` are hyperbolic widths, so edges thin
214
210
  * toward the rim; every `sectionSize`-th generation of polygons is accented.
215
211
  */
216
- export interface HyperbolicGridConfig extends GridSurfaceConfig {
212
+ export interface HyperbolicGridConfig extends GridSurfaceBaseConfig {
217
213
  /** sides of each polygon (p), 3..12 */
218
214
  sides: number;
219
215
  /** polygons around each vertex (q), 3..12; raised until (p-2)(q-2) > 4 */
@@ -223,7 +219,7 @@ export interface HyperbolicGridConfig extends GridSurfaceConfig {
223
219
  }
224
220
  /** Every grid config this package can render, tagged by `type`. */
225
221
  /** A spacetime lattice around a binary black-hole inspiral. The Newtonian wells pinch the lines, and quadrupole waves, evaluated at the retarded time, spiral outward and chirp toward the merger before the remnant rings down. */
226
- export interface GravWaveGridConfig extends GridSurfaceConfig {
222
+ export interface GravWaveGridConfig extends GridSurfaceBaseConfig {
227
223
  /** wave amplitude multiplier; 0 leaves only the static wells */
228
224
  strain: number;
229
225
  /** seconds per inspiral-merger-ringdown cycle (clamped to at least 4 in the shader) */
@@ -234,7 +230,7 @@ export interface GravWaveGridConfig extends GridSurfaceConfig {
234
230
  massRatio: number;
235
231
  }
236
232
  /** An Islamic star pattern drawn by Hankin polygons-in-contact. One ray per dihedral sector, from the edge midpoint to the sector bisector, generates the whole interlaced star-and-rosette strapwork over an octagon-square, hexagonal or trihexagonal tiling. */
237
- export interface GirihGridConfig extends GridSurfaceConfig {
233
+ export interface GirihGridConfig extends GridSurfaceBaseConfig {
238
234
  /** base tiling: 0 = 4.8.8, 1 = regular hexagons, 2 = 3.6.3.6 (trihexagonal) */
239
235
  tiling: number;
240
236
  /** Hankin contact angle in degrees (20..85); 67.5 is the classic 8-point star */
@@ -245,7 +241,7 @@ export interface GirihGridConfig extends GridSurfaceConfig {
245
241
  angleDrift: number;
246
242
  }
247
243
  /** Wallpaper-group kaleidoscope: a drifting lattice-periodic Fourier motif summed over the coset representatives of one of the 17 plane crystallographic groups. The runtime builds the group tables and crossfades from group to group. */
248
- export interface WallpaperGridConfig extends GridSurfaceConfig {
244
+ export interface WallpaperGridConfig extends GridSurfaceBaseConfig {
249
245
  /** Wallpaper group index (-1 cycles), read by the runtime */
250
246
  group: number;
251
247
  /** Seconds per group while cycling, read by the runtime */
@@ -256,7 +252,7 @@ export interface WallpaperGridConfig extends GridSurfaceConfig {
256
252
  levels: number;
257
253
  }
258
254
  /** A Gray-Scott reaction-diffusion field simulated on the GPU and sampled by the plane: coral, labyrinths and dividing spots grow, merge and keep evolving, wrapped seamlessly as a torus. */
259
- export interface ReactionDiffusionGridConfig extends GridSurfaceConfig {
255
+ export interface ReactionDiffusionGridConfig extends GridSurfaceBaseConfig {
260
256
  /** Gray-Scott feed rate F. */
261
257
  feed: number;
262
258
  /** Gray-Scott kill rate k. */
@@ -266,6 +262,94 @@ export interface ReactionDiffusionGridConfig extends GridSurfaceConfig {
266
262
  /** Cells covered by one simulation tile before it repeats. */
267
263
  tileCells: number;
268
264
  }
265
+ /**
266
+ * Every grid lies flat (orientation is the parent object's transform) and leaves
267
+ * pointer behaviour to the Pointer tab, so the shared surface is the whole base.
268
+ */
269
+ export type GridSurfaceBaseConfig = GridSurfaceConfig;
270
+ /** A square lattice seen through a point-mass gravitational lens: the thin-lens equation bends it into an Einstein ring, an inverted inner image and a dark shadow at the core. */
271
+ export interface LensingGridConfig extends GridSurfaceBaseConfig {
272
+ /** Einstein radius of the lens, in cells; 0 leaves the lattice undistorted */
273
+ mass: number;
274
+ /** Radius the lens circles the centre on, in cells; 0 holds it at the centre */
275
+ orbit: number;
276
+ /** Brightness of the Einstein ring and its halo */
277
+ ringGlow: number;
278
+ }
279
+ /** A square lattice pulled back through an ideal-flow complex potential. Cauchy–Riemann keeps every cell square; colour is the flow speed, alternate stream tubes carry dye and hydrogen-bubble dashes ride the flow. */
280
+ export interface ConformalGridConfig extends GridSurfaceBaseConfig {
281
+ /** The flow: 0 source + sink, 1 spiral vortex, 2 spinning cylinder, 3 corner */
282
+ flowMap: number;
283
+ /** Distance from the centre to the poles, or the cylinder radius, in world units */
284
+ poleSpread: number;
285
+ /** Lattice lines per turn round a pole (whole number, so the log seam closes) */
286
+ spokes: number;
287
+ /** Spiral arms of the vortex flow; 0 gives a plain polar web */
288
+ arms: number;
289
+ /** Circulation round the cylinder (lift); at ±2 both stagnation points meet */
290
+ circulation: number;
291
+ /** How fast the lattice streams along the flow; negative reverses it */
292
+ drift: number;
293
+ /** Strength of the speed-coloured stream-tube fill */
294
+ fill: number;
295
+ /** Brightness of the dashes carried along the streamlines */
296
+ dye: number;
297
+ }
298
+ /** Smith quarter-circle Truchet tiles: arcs always meet arcs, so the plane fills with endless two-coloured loops. Tiles re-deal by turning a quarter turn, and comets travel the loops in one direction. */
299
+ export interface TruchetGridConfig extends GridSurfaceBaseConfig {
300
+ /** Chance a tile re-deals its orientation each epoch; 0 freezes the paths */
301
+ flip: number;
302
+ /** Balance of the two tile orientations: 0.5 is a maze, the ends are stripes */
303
+ bias: number;
304
+ /** Brightness of the comets travelling the loops */
305
+ pulse: number;
306
+ /** Fill of one colour of the two-colouring */
307
+ regionFill: number;
308
+ }
309
+ /** Vogel's sunflower: florets at the golden angle, each a lit dome coloured by age and carrying a mark aligned to the head's radius. Bloom rings travel from the rim to the centre and open the marks; the head itself never turns. */
310
+ export interface PhyllotaxisGridConfig extends GridSurfaceBaseConfig {
311
+ /** Angle between successive seeds, degrees; 137.508 is the golden angle */
312
+ divergence: number;
313
+ /** Speed of the bloom rings travelling rim to centre; negative reverses them */
314
+ bloomRate: number;
315
+ /** Depth of the lit dome on each floret */
316
+ relief: number;
317
+ /** The mark each floret carries (0 draws only the domes) */
318
+ shape: number;
319
+ /** Size of the mark relative to its floret */
320
+ shapeSize: number;
321
+ /** Brightness of the marks */
322
+ shapeGlow: number;
323
+ }
324
+ /** The sunflower's crossed Fibonacci spiral families as a grid of their own: sectionSize spirals one way, sectionSize/φ the other, every crossing a seed, and the difference family cutting each cell into triangles. Light runs inward along the spirals. */
325
+ export interface ParastichyGridConfig extends GridSurfaceBaseConfig {
326
+ /** Angle between successive seeds, degrees; 137.508 is the golden angle */
327
+ divergence: number;
328
+ /** Weight of the third spiral family that splits cells into triangles */
329
+ third: number;
330
+ /** Brightness of the light running inward along the spirals */
331
+ sap: number;
332
+ /** Strength of the faceted cell fill */
333
+ fill: number;
334
+ }
335
+ /** An Apollonian gasket by circle inversion: a point is walked out of nested gaps through the four dual circles, so every tangent circle gets a pixel-true rim. A slow Möbius disk flow re-balances the packing while every tangency holds. */
336
+ export interface ApollonianGridConfig extends GridSurfaceBaseConfig {
337
+ /** Inversion levels: how deep the packing nests */
338
+ depth: number;
339
+ /** Strength of the Möbius flow that re-balances the packing; 0 holds it symmetric */
340
+ morph: number;
341
+ }
342
+ /** A closed Moore curve — four Hilbert curves joined into one loop — threads every cell once while keeping neighbours on the line neighbours on the plane. Signals with exponential trails circulate along it; the accent is the same curve one level coarser. */
343
+ export interface HilbertGridConfig extends GridSurfaceBaseConfig {
344
+ /** Curve order: the loop covers 2^order cells per side */
345
+ order: number;
346
+ /** Signals circulating round the loop */
347
+ signals: number;
348
+ /** Length of each signal trail, in cells */
349
+ trail: number;
350
+ /** Signal speed, in cells per second */
351
+ signalSpeed: number;
352
+ }
269
353
  export type AnyGridConfig = (HexGridConfig & {
270
354
  type: 'hexGrid';
271
355
  }) | (CircuitGridConfig & {
@@ -296,5 +380,19 @@ export type AnyGridConfig = (HexGridConfig & {
296
380
  type: 'wallpaperGrid';
297
381
  }) | (ReactionDiffusionGridConfig & {
298
382
  type: 'reactionDiffusionGrid';
383
+ }) | (LensingGridConfig & {
384
+ type: 'lensingGrid';
385
+ }) | (ConformalGridConfig & {
386
+ type: 'conformalGrid';
387
+ }) | (TruchetGridConfig & {
388
+ type: 'truchetGrid';
389
+ }) | (PhyllotaxisGridConfig & {
390
+ type: 'phyllotaxisGrid';
391
+ }) | (ParastichyGridConfig & {
392
+ type: 'parastichyGrid';
393
+ }) | (ApollonianGridConfig & {
394
+ type: 'apollonianGrid';
395
+ }) | (HilbertGridConfig & {
396
+ type: 'hilbertGrid';
299
397
  });
300
398
  //# sourceMappingURL=gridConfigs.d.ts.map