@appinternalleads/ui 0.4.0 → 0.4.2

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 (901) hide show
  1. package/README.md +92 -0
  2. package/dist/cjs/agent/AgentComponent.js +1 -1
  3. package/dist/cjs/agent/AgentComponent.js.map +1 -1
  4. package/dist/cjs/agent/manifests.js +81 -1
  5. package/dist/cjs/agent/manifests.js.map +1 -1
  6. package/dist/cjs/agent/result.js +6 -0
  7. package/dist/cjs/agent/result.js.map +1 -1
  8. package/dist/cjs/components/catalog.js +18 -0
  9. package/dist/cjs/components/catalog.js.map +1 -1
  10. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js +21 -0
  11. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
  12. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js +6 -0
  13. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
  14. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js +89 -0
  15. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
  16. package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js +62 -0
  17. package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
  18. package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js +20 -0
  19. package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
  20. package/dist/cjs/components/onboarding/animated-status/contract.js +87 -0
  21. package/dist/cjs/components/onboarding/animated-status/contract.js.map +1 -0
  22. package/dist/cjs/components/onboarding/animated-status/engine.js +40 -0
  23. package/dist/cjs/components/onboarding/animated-status/engine.js.map +1 -0
  24. package/dist/cjs/components/onboarding/animated-status/index.js +20 -0
  25. package/dist/cjs/components/onboarding/animated-status/index.js.map +1 -0
  26. package/dist/cjs/components/onboarding/animated-status/presets.json +126 -0
  27. package/dist/cjs/components/onboarding/animated-status/riv.js +7 -0
  28. package/dist/cjs/components/onboarding/animated-status/riv.js.map +1 -0
  29. package/dist/cjs/components/onboarding/index.js +4 -0
  30. package/dist/cjs/components/onboarding/index.js.map +1 -1
  31. package/dist/cjs/components/onboarding/presets.js +90 -84
  32. package/dist/cjs/components/onboarding/presets.js.map +1 -1
  33. package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js +43 -6
  34. package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
  35. package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js +111 -0
  36. package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
  37. package/dist/cjs/components/onboarding/send-completion/SendStage.js +37 -0
  38. package/dist/cjs/components/onboarding/send-completion/SendStage.js.map +1 -0
  39. package/dist/cjs/components/onboarding/send-completion/SendStage.types.js +6 -0
  40. package/dist/cjs/components/onboarding/send-completion/SendStage.types.js.map +1 -0
  41. package/dist/cjs/components/onboarding/send-completion/SendStage.web.js +107 -0
  42. package/dist/cjs/components/onboarding/send-completion/SendStage.web.js.map +1 -0
  43. package/dist/cjs/components/onboarding/send-completion/SendStill.js +17 -0
  44. package/dist/cjs/components/onboarding/send-completion/SendStill.js.map +1 -0
  45. package/dist/cjs/components/onboarding/send-completion/contract.js +83 -0
  46. package/dist/cjs/components/onboarding/send-completion/contract.js.map +1 -0
  47. package/dist/cjs/components/onboarding/send-completion/engine.js +32 -0
  48. package/dist/cjs/components/onboarding/send-completion/engine.js.map +1 -0
  49. package/dist/cjs/components/onboarding/send-completion/index.js +22 -0
  50. package/dist/cjs/components/onboarding/send-completion/index.js.map +1 -0
  51. package/dist/cjs/components/onboarding/send-completion/presets.json +132 -0
  52. package/dist/cjs/components/onboarding/send-completion/riv.js +7 -0
  53. package/dist/cjs/components/onboarding/send-completion/riv.js.map +1 -0
  54. package/dist/cjs/components/onboarding/shared/actions-data.js +2 -0
  55. package/dist/cjs/components/onboarding/shared/actions-data.js.map +1 -1
  56. package/dist/cjs/components/onboarding/shared/configColor.js +76 -0
  57. package/dist/cjs/components/onboarding/shared/configColor.js.map +1 -0
  58. package/dist/cjs/components/onboarding/shared/contract.js +4 -0
  59. package/dist/cjs/components/onboarding/shared/contract.js.map +1 -1
  60. package/dist/cjs/components/onboarding/shared/describe.js +1 -1
  61. package/dist/cjs/components/onboarding/shared/describe.js.map +1 -1
  62. package/dist/cjs/components/onboarding/shared/mock.js +2 -0
  63. package/dist/cjs/components/onboarding/shared/mock.js.map +1 -1
  64. package/dist/cjs/components/onboarding/views.js +8 -0
  65. package/dist/cjs/components/onboarding/views.js.map +1 -1
  66. package/dist/cjs/motion/MotionPlayer.js +42 -0
  67. package/dist/cjs/motion/MotionPlayer.js.map +1 -0
  68. package/dist/cjs/motion/agent.js +323 -0
  69. package/dist/cjs/motion/agent.js.map +1 -0
  70. package/dist/cjs/motion/cat/Cat.js +79 -0
  71. package/dist/cjs/motion/cat/Cat.js.map +1 -0
  72. package/dist/cjs/motion/cat/animation.js +204 -0
  73. package/dist/cjs/motion/cat/animation.js.map +1 -0
  74. package/dist/cjs/motion/cat/art.generated.js +37 -0
  75. package/dist/cjs/motion/cat/art.generated.js.map +1 -0
  76. package/dist/cjs/motion/cat/config.js +136 -0
  77. package/dist/cjs/motion/cat/config.js.map +1 -0
  78. package/dist/cjs/motion/cat/index.js +75 -0
  79. package/dist/cjs/motion/cat/index.js.map +1 -0
  80. package/dist/cjs/motion/cat/rig.js +99 -0
  81. package/dist/cjs/motion/cat/rig.js.map +1 -0
  82. package/dist/cjs/motion/cat/scene.js +148 -0
  83. package/dist/cjs/motion/cat/scene.js.map +1 -0
  84. package/dist/cjs/motion/configurable/config.js +477 -0
  85. package/dist/cjs/motion/configurable/config.js.map +1 -0
  86. package/dist/cjs/motion/configurable/controls.js +44 -0
  87. package/dist/cjs/motion/configurable/controls.js.map +1 -0
  88. package/dist/cjs/motion/easing.js +62 -0
  89. package/dist/cjs/motion/easing.js.map +1 -0
  90. package/dist/cjs/motion/fit.js +12 -0
  91. package/dist/cjs/motion/fit.js.map +1 -0
  92. package/dist/cjs/motion/index.js +101 -0
  93. package/dist/cjs/motion/index.js.map +1 -0
  94. package/dist/cjs/motion/neon/GlowRenderer.js +18 -0
  95. package/dist/cjs/motion/neon/GlowRenderer.js.map +1 -0
  96. package/dist/cjs/motion/neon/NeonCanvas.js +97 -0
  97. package/dist/cjs/motion/neon/NeonCanvas.js.map +1 -0
  98. package/dist/cjs/motion/neon/NeonText.js +108 -0
  99. package/dist/cjs/motion/neon/NeonText.js.map +1 -0
  100. package/dist/cjs/motion/neon/NeonTextFrame.js +36 -0
  101. package/dist/cjs/motion/neon/NeonTextFrame.js.map +1 -0
  102. package/dist/cjs/motion/neon/artwork.js +102 -0
  103. package/dist/cjs/motion/neon/artwork.js.map +1 -0
  104. package/dist/cjs/motion/neon/audio.js +165 -0
  105. package/dist/cjs/motion/neon/audio.js.map +1 -0
  106. package/dist/cjs/motion/neon/config.js +334 -0
  107. package/dist/cjs/motion/neon/config.js.map +1 -0
  108. package/dist/cjs/motion/neon/flicker.js +196 -0
  109. package/dist/cjs/motion/neon/flicker.js.map +1 -0
  110. package/dist/cjs/motion/neon/fonts.js +52 -0
  111. package/dist/cjs/motion/neon/fonts.js.map +1 -0
  112. package/dist/cjs/motion/neon/frame.js +24 -0
  113. package/dist/cjs/motion/neon/frame.js.map +1 -0
  114. package/dist/cjs/motion/neon/glitch.js +114 -0
  115. package/dist/cjs/motion/neon/glitch.js.map +1 -0
  116. package/dist/cjs/motion/neon/index.js +119 -0
  117. package/dist/cjs/motion/neon/index.js.map +1 -0
  118. package/dist/cjs/motion/neon/layers.js +68 -0
  119. package/dist/cjs/motion/neon/layers.js.map +1 -0
  120. package/dist/cjs/motion/neon/material.js +56 -0
  121. package/dist/cjs/motion/neon/material.js.map +1 -0
  122. package/dist/cjs/motion/neon/random.js +43 -0
  123. package/dist/cjs/motion/neon/random.js.map +1 -0
  124. package/dist/cjs/motion/neon/scene.js +549 -0
  125. package/dist/cjs/motion/neon/scene.js.map +1 -0
  126. package/dist/cjs/motion/neon/synth.js +213 -0
  127. package/dist/cjs/motion/neon/synth.js.map +1 -0
  128. package/dist/cjs/motion/neon/typography.js +81 -0
  129. package/dist/cjs/motion/neon/typography.js.map +1 -0
  130. package/dist/cjs/motion/neon/wall.js +113 -0
  131. package/dist/cjs/motion/neon/wall.js.map +1 -0
  132. package/dist/cjs/motion/paperfold/PaperFold.js +40 -0
  133. package/dist/cjs/motion/paperfold/PaperFold.js.map +1 -0
  134. package/dist/cjs/motion/paperfold/PaperFoldFrame.js +290 -0
  135. package/dist/cjs/motion/paperfold/PaperFoldFrame.js.map +1 -0
  136. package/dist/cjs/motion/paperfold/PaperFoldPlayer.js +59 -0
  137. package/dist/cjs/motion/paperfold/PaperFoldPlayer.js.map +1 -0
  138. package/dist/cjs/motion/paperfold/art.js +388 -0
  139. package/dist/cjs/motion/paperfold/art.js.map +1 -0
  140. package/dist/cjs/motion/paperfold/config.js +103 -0
  141. package/dist/cjs/motion/paperfold/config.js.map +1 -0
  142. package/dist/cjs/motion/paperfold/controls.js +493 -0
  143. package/dist/cjs/motion/paperfold/controls.js.map +1 -0
  144. package/dist/cjs/motion/paperfold/engine.js +722 -0
  145. package/dist/cjs/motion/paperfold/engine.js.map +1 -0
  146. package/dist/cjs/motion/paperfold/fonts.js +25 -0
  147. package/dist/cjs/motion/paperfold/fonts.js.map +1 -0
  148. package/dist/cjs/motion/paperfold/index.js +113 -0
  149. package/dist/cjs/motion/paperfold/index.js.map +1 -0
  150. package/dist/cjs/motion/paperfold/manipulate.js +170 -0
  151. package/dist/cjs/motion/paperfold/manipulate.js.map +1 -0
  152. package/dist/cjs/motion/paperfold/presets.js +119 -0
  153. package/dist/cjs/motion/paperfold/presets.js.map +1 -0
  154. package/dist/cjs/motion/paperfold/template.js +40 -0
  155. package/dist/cjs/motion/paperfold/template.js.map +1 -0
  156. package/dist/cjs/motion/player.js +203 -0
  157. package/dist/cjs/motion/player.js.map +1 -0
  158. package/dist/cjs/motion/promo/PromoFrame.js +293 -0
  159. package/dist/cjs/motion/promo/PromoFrame.js.map +1 -0
  160. package/dist/cjs/motion/promo/PromoShowcasePlayer.js +59 -0
  161. package/dist/cjs/motion/promo/PromoShowcasePlayer.js.map +1 -0
  162. package/dist/cjs/motion/promo/config.js +565 -0
  163. package/dist/cjs/motion/promo/config.js.map +1 -0
  164. package/dist/cjs/motion/promo/controls.js +571 -0
  165. package/dist/cjs/motion/promo/controls.js.map +1 -0
  166. package/dist/cjs/motion/promo/easing.js +35 -0
  167. package/dist/cjs/motion/promo/easing.js.map +1 -0
  168. package/dist/cjs/motion/promo/engine.js +567 -0
  169. package/dist/cjs/motion/promo/engine.js.map +1 -0
  170. package/dist/cjs/motion/promo/fonts.js +20 -0
  171. package/dist/cjs/motion/promo/fonts.js.map +1 -0
  172. package/dist/cjs/motion/promo/icons.js +29 -0
  173. package/dist/cjs/motion/promo/icons.js.map +1 -0
  174. package/dist/cjs/motion/promo/index.js +73 -0
  175. package/dist/cjs/motion/promo/index.js.map +1 -0
  176. package/dist/cjs/motion/promo/presets.js +44 -0
  177. package/dist/cjs/motion/promo/presets.js.map +1 -0
  178. package/dist/cjs/motion/promo/template.js +38 -0
  179. package/dist/cjs/motion/promo/template.js.map +1 -0
  180. package/dist/cjs/motion/replication2/Replication2Player.js +93 -0
  181. package/dist/cjs/motion/replication2/Replication2Player.js.map +1 -0
  182. package/dist/cjs/motion/replication2/config.js +352 -0
  183. package/dist/cjs/motion/replication2/config.js.map +1 -0
  184. package/dist/cjs/motion/replication2/controls.js +286 -0
  185. package/dist/cjs/motion/replication2/controls.js.map +1 -0
  186. package/dist/cjs/motion/replication2/driver.js +68 -0
  187. package/dist/cjs/motion/replication2/driver.js.map +1 -0
  188. package/dist/cjs/motion/replication2/easing.js +97 -0
  189. package/dist/cjs/motion/replication2/easing.js.map +1 -0
  190. package/dist/cjs/motion/replication2/engine.js +481 -0
  191. package/dist/cjs/motion/replication2/engine.js.map +1 -0
  192. package/dist/cjs/motion/replication2/html.js +88 -0
  193. package/dist/cjs/motion/replication2/html.js.map +1 -0
  194. package/dist/cjs/motion/replication2/index.js +61 -0
  195. package/dist/cjs/motion/replication2/index.js.map +1 -0
  196. package/dist/cjs/motion/replication2/measure.js +30 -0
  197. package/dist/cjs/motion/replication2/measure.js.map +1 -0
  198. package/dist/cjs/motion/replication2/metrics.js +10 -0
  199. package/dist/cjs/motion/replication2/metrics.js.map +1 -0
  200. package/dist/cjs/motion/replication2/presets.js +67 -0
  201. package/dist/cjs/motion/replication2/presets.js.map +1 -0
  202. package/dist/cjs/motion/replication2/riv.js +7 -0
  203. package/dist/cjs/motion/replication2/riv.js.map +1 -0
  204. package/dist/cjs/motion/replication2/rive-contract.js +158 -0
  205. package/dist/cjs/motion/replication2/rive-contract.js.map +1 -0
  206. package/dist/cjs/motion/replication2/template.js +35 -0
  207. package/dist/cjs/motion/replication2/template.js.map +1 -0
  208. package/dist/cjs/motion/sample.js +149 -0
  209. package/dist/cjs/motion/sample.js.map +1 -0
  210. package/dist/cjs/motion/templates/hey-template.js +1552 -0
  211. package/dist/cjs/motion/templates/hey-template.js.map +1 -0
  212. package/dist/cjs/motion/templates/index.js +22 -0
  213. package/dist/cjs/motion/templates/index.js.map +1 -0
  214. package/dist/cjs/motion/templates/word-motion.js +1165 -0
  215. package/dist/cjs/motion/templates/word-motion.js.map +1 -0
  216. package/dist/cjs/motion/types.js +3 -0
  217. package/dist/cjs/motion/types.js.map +1 -0
  218. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +85 -0
  219. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
  220. package/dist/cjs/motion/typesurface/art.js +861 -0
  221. package/dist/cjs/motion/typesurface/art.js.map +1 -0
  222. package/dist/cjs/motion/typesurface/config.js +289 -0
  223. package/dist/cjs/motion/typesurface/config.js.map +1 -0
  224. package/dist/cjs/motion/typesurface/construct.js +875 -0
  225. package/dist/cjs/motion/typesurface/construct.js.map +1 -0
  226. package/dist/cjs/motion/typesurface/engine.js +631 -0
  227. package/dist/cjs/motion/typesurface/engine.js.map +1 -0
  228. package/dist/cjs/motion/typesurface/fonts.js +45 -0
  229. package/dist/cjs/motion/typesurface/fonts.js.map +1 -0
  230. package/dist/cjs/motion/typesurface/index.js +80 -0
  231. package/dist/cjs/motion/typesurface/index.js.map +1 -0
  232. package/dist/cjs/motion/typesurface/layout.js +130 -0
  233. package/dist/cjs/motion/typesurface/layout.js.map +1 -0
  234. package/dist/cjs/motion/typesurface/ops.js +175 -0
  235. package/dist/cjs/motion/typesurface/ops.js.map +1 -0
  236. package/dist/cjs/motion/typesurface/presets.js +259 -0
  237. package/dist/cjs/motion/typesurface/presets.js.map +1 -0
  238. package/dist/cjs/motion/typesurface/renderer.js +738 -0
  239. package/dist/cjs/motion/typesurface/renderer.js.map +1 -0
  240. package/dist/cjs/motion/typesurface/shaders.js +322 -0
  241. package/dist/cjs/motion/typesurface/shaders.js.map +1 -0
  242. package/dist/cjs/motion/typesurface/surfaces.js +225 -0
  243. package/dist/cjs/motion/typesurface/surfaces.js.map +1 -0
  244. package/dist/cjs/motion/typesurface/text.js +34 -0
  245. package/dist/cjs/motion/typesurface/text.js.map +1 -0
  246. package/dist/cjs/motion/typesurface/timeline.js +64 -0
  247. package/dist/cjs/motion/typesurface/timeline.js.map +1 -0
  248. package/dist/cjs/motion/validate.js +89 -0
  249. package/dist/cjs/motion/validate.js.map +1 -0
  250. package/dist/cjs/native/RiveReceiptStage.js +9 -150
  251. package/dist/cjs/native/RiveReceiptStage.js.map +1 -1
  252. package/dist/cjs/native/riveReceiptStageFactory.js +162 -0
  253. package/dist/cjs/native/riveReceiptStageFactory.js.map +1 -0
  254. package/dist/cjs/tokens/stage.js +10 -0
  255. package/dist/cjs/tokens/stage.js.map +1 -0
  256. package/dist/esm/agent/AgentComponent.js +1 -1
  257. package/dist/esm/agent/AgentComponent.js.map +1 -1
  258. package/dist/esm/agent/manifests.d.ts.map +1 -1
  259. package/dist/esm/agent/manifests.js +81 -1
  260. package/dist/esm/agent/manifests.js.map +1 -1
  261. package/dist/esm/agent/result.d.ts.map +1 -1
  262. package/dist/esm/agent/result.js +6 -0
  263. package/dist/esm/agent/result.js.map +1 -1
  264. package/dist/esm/agent/types.d.ts +1 -1
  265. package/dist/esm/agent/types.d.ts.map +1 -1
  266. package/dist/esm/components/catalog.d.ts +1 -1
  267. package/dist/esm/components/catalog.d.ts.map +1 -1
  268. package/dist/esm/components/catalog.js +18 -0
  269. package/dist/esm/components/catalog.js.map +1 -1
  270. package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts +9 -0
  271. package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts.map +1 -0
  272. package/dist/esm/components/onboarding/animated-status/AnimatedStage.js +18 -0
  273. package/dist/esm/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
  274. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts +31 -0
  275. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts.map +1 -0
  276. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js +3 -0
  277. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
  278. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts +4 -0
  279. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts.map +1 -0
  280. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js +86 -0
  281. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
  282. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts +32 -0
  283. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts.map +1 -0
  284. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js +59 -0
  285. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
  286. package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts +8 -0
  287. package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts.map +1 -0
  288. package/dist/esm/components/onboarding/animated-status/AnimatedStill.js +17 -0
  289. package/dist/esm/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
  290. package/dist/esm/components/onboarding/animated-status/contract.d.ts +61 -0
  291. package/dist/esm/components/onboarding/animated-status/contract.d.ts.map +1 -0
  292. package/dist/esm/components/onboarding/animated-status/contract.js +78 -0
  293. package/dist/esm/components/onboarding/animated-status/contract.js.map +1 -0
  294. package/dist/esm/components/onboarding/animated-status/engine.d.ts +24 -0
  295. package/dist/esm/components/onboarding/animated-status/engine.d.ts.map +1 -0
  296. package/dist/esm/components/onboarding/animated-status/engine.js +32 -0
  297. package/dist/esm/components/onboarding/animated-status/engine.js.map +1 -0
  298. package/dist/esm/components/onboarding/animated-status/index.d.ts +5 -0
  299. package/dist/esm/components/onboarding/animated-status/index.d.ts.map +1 -0
  300. package/dist/esm/components/onboarding/animated-status/index.js +4 -0
  301. package/dist/esm/components/onboarding/animated-status/index.js.map +1 -0
  302. package/dist/esm/components/onboarding/animated-status/presets.json +126 -0
  303. package/dist/esm/components/onboarding/animated-status/riv.d.ts +3 -0
  304. package/dist/esm/components/onboarding/animated-status/riv.d.ts.map +1 -0
  305. package/dist/esm/components/onboarding/animated-status/riv.js +4 -0
  306. package/dist/esm/components/onboarding/animated-status/riv.js.map +1 -0
  307. package/dist/esm/components/onboarding/index.d.ts +2 -0
  308. package/dist/esm/components/onboarding/index.d.ts.map +1 -1
  309. package/dist/esm/components/onboarding/index.js +4 -0
  310. package/dist/esm/components/onboarding/index.js.map +1 -1
  311. package/dist/esm/components/onboarding/presets.d.ts.map +1 -1
  312. package/dist/esm/components/onboarding/presets.js +6 -0
  313. package/dist/esm/components/onboarding/presets.js.map +1 -1
  314. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts +4 -6
  315. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts.map +1 -1
  316. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js +42 -6
  317. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
  318. package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts +47 -0
  319. package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts.map +1 -0
  320. package/dist/esm/components/onboarding/send-completion/SendCompletionView.js +108 -0
  321. package/dist/esm/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
  322. package/dist/esm/components/onboarding/send-completion/SendStage.d.ts +9 -0
  323. package/dist/esm/components/onboarding/send-completion/SendStage.d.ts.map +1 -0
  324. package/dist/esm/components/onboarding/send-completion/SendStage.js +34 -0
  325. package/dist/esm/components/onboarding/send-completion/SendStage.js.map +1 -0
  326. package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts +33 -0
  327. package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts.map +1 -0
  328. package/dist/esm/components/onboarding/send-completion/SendStage.types.js +3 -0
  329. package/dist/esm/components/onboarding/send-completion/SendStage.types.js.map +1 -0
  330. package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts +4 -0
  331. package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts.map +1 -0
  332. package/dist/esm/components/onboarding/send-completion/SendStage.web.js +104 -0
  333. package/dist/esm/components/onboarding/send-completion/SendStage.web.js.map +1 -0
  334. package/dist/esm/components/onboarding/send-completion/SendStill.d.ts +11 -0
  335. package/dist/esm/components/onboarding/send-completion/SendStill.d.ts.map +1 -0
  336. package/dist/esm/components/onboarding/send-completion/SendStill.js +14 -0
  337. package/dist/esm/components/onboarding/send-completion/SendStill.js.map +1 -0
  338. package/dist/esm/components/onboarding/send-completion/contract.d.ts +99 -0
  339. package/dist/esm/components/onboarding/send-completion/contract.d.ts.map +1 -0
  340. package/dist/esm/components/onboarding/send-completion/contract.js +76 -0
  341. package/dist/esm/components/onboarding/send-completion/contract.js.map +1 -0
  342. package/dist/esm/components/onboarding/send-completion/engine.d.ts +20 -0
  343. package/dist/esm/components/onboarding/send-completion/engine.d.ts.map +1 -0
  344. package/dist/esm/components/onboarding/send-completion/engine.js +28 -0
  345. package/dist/esm/components/onboarding/send-completion/engine.js.map +1 -0
  346. package/dist/esm/components/onboarding/send-completion/index.d.ts +6 -0
  347. package/dist/esm/components/onboarding/send-completion/index.d.ts.map +1 -0
  348. package/dist/esm/components/onboarding/send-completion/index.js +6 -0
  349. package/dist/esm/components/onboarding/send-completion/index.js.map +1 -0
  350. package/dist/esm/components/onboarding/send-completion/presets.json +132 -0
  351. package/dist/esm/components/onboarding/send-completion/riv.d.ts +3 -0
  352. package/dist/esm/components/onboarding/send-completion/riv.d.ts.map +1 -0
  353. package/dist/esm/components/onboarding/send-completion/riv.js +4 -0
  354. package/dist/esm/components/onboarding/send-completion/riv.js.map +1 -0
  355. package/dist/esm/components/onboarding/shared/actions-data.d.ts.map +1 -1
  356. package/dist/esm/components/onboarding/shared/actions-data.js +2 -0
  357. package/dist/esm/components/onboarding/shared/actions-data.js.map +1 -1
  358. package/dist/esm/components/onboarding/shared/configColor.d.ts +29 -0
  359. package/dist/esm/components/onboarding/shared/configColor.d.ts.map +1 -0
  360. package/dist/esm/components/onboarding/shared/configColor.js +69 -0
  361. package/dist/esm/components/onboarding/shared/configColor.js.map +1 -0
  362. package/dist/esm/components/onboarding/shared/contract.d.ts +1 -1
  363. package/dist/esm/components/onboarding/shared/contract.d.ts.map +1 -1
  364. package/dist/esm/components/onboarding/shared/contract.js +4 -0
  365. package/dist/esm/components/onboarding/shared/contract.js.map +1 -1
  366. package/dist/esm/components/onboarding/shared/describe.d.ts.map +1 -1
  367. package/dist/esm/components/onboarding/shared/describe.js +1 -1
  368. package/dist/esm/components/onboarding/shared/describe.js.map +1 -1
  369. package/dist/esm/components/onboarding/shared/mock.d.ts +2 -0
  370. package/dist/esm/components/onboarding/shared/mock.d.ts.map +1 -1
  371. package/dist/esm/components/onboarding/shared/mock.js +2 -0
  372. package/dist/esm/components/onboarding/shared/mock.js.map +1 -1
  373. package/dist/esm/components/onboarding/views.d.ts.map +1 -1
  374. package/dist/esm/components/onboarding/views.js +8 -0
  375. package/dist/esm/components/onboarding/views.js.map +1 -1
  376. package/dist/esm/motion/MotionPlayer.d.ts +22 -0
  377. package/dist/esm/motion/MotionPlayer.d.ts.map +1 -0
  378. package/dist/esm/motion/MotionPlayer.js +39 -0
  379. package/dist/esm/motion/MotionPlayer.js.map +1 -0
  380. package/dist/esm/motion/agent.d.ts +146 -0
  381. package/dist/esm/motion/agent.d.ts.map +1 -0
  382. package/dist/esm/motion/agent.js +278 -0
  383. package/dist/esm/motion/agent.js.map +1 -0
  384. package/dist/esm/motion/cat/Cat.d.ts +43 -0
  385. package/dist/esm/motion/cat/Cat.d.ts.map +1 -0
  386. package/dist/esm/motion/cat/Cat.js +74 -0
  387. package/dist/esm/motion/cat/Cat.js.map +1 -0
  388. package/dist/esm/motion/cat/animation.d.ts +86 -0
  389. package/dist/esm/motion/cat/animation.d.ts.map +1 -0
  390. package/dist/esm/motion/cat/animation.js +193 -0
  391. package/dist/esm/motion/cat/animation.js.map +1 -0
  392. package/dist/esm/motion/cat/art.generated.d.ts +53 -0
  393. package/dist/esm/motion/cat/art.generated.d.ts.map +1 -0
  394. package/dist/esm/motion/cat/art.generated.js +34 -0
  395. package/dist/esm/motion/cat/art.generated.js.map +1 -0
  396. package/dist/esm/motion/cat/config.d.ts +103 -0
  397. package/dist/esm/motion/cat/config.d.ts.map +1 -0
  398. package/dist/esm/motion/cat/config.js +129 -0
  399. package/dist/esm/motion/cat/config.js.map +1 -0
  400. package/dist/esm/motion/cat/index.d.ts +13 -0
  401. package/dist/esm/motion/cat/index.d.ts.map +1 -0
  402. package/dist/esm/motion/cat/index.js +13 -0
  403. package/dist/esm/motion/cat/index.js.map +1 -0
  404. package/dist/esm/motion/cat/rig.d.ts +44 -0
  405. package/dist/esm/motion/cat/rig.d.ts.map +1 -0
  406. package/dist/esm/motion/cat/rig.js +86 -0
  407. package/dist/esm/motion/cat/rig.js.map +1 -0
  408. package/dist/esm/motion/cat/scene.d.ts +66 -0
  409. package/dist/esm/motion/cat/scene.d.ts.map +1 -0
  410. package/dist/esm/motion/cat/scene.js +137 -0
  411. package/dist/esm/motion/cat/scene.js.map +1 -0
  412. package/dist/esm/motion/configurable/config.d.ts +80 -0
  413. package/dist/esm/motion/configurable/config.d.ts.map +1 -0
  414. package/dist/esm/motion/configurable/config.js +468 -0
  415. package/dist/esm/motion/configurable/config.js.map +1 -0
  416. package/dist/esm/motion/configurable/controls.d.ts +74 -0
  417. package/dist/esm/motion/configurable/controls.d.ts.map +1 -0
  418. package/dist/esm/motion/configurable/controls.js +38 -0
  419. package/dist/esm/motion/configurable/controls.js.map +1 -0
  420. package/dist/esm/motion/easing.d.ts +4 -0
  421. package/dist/esm/motion/easing.d.ts.map +1 -0
  422. package/dist/esm/motion/easing.js +58 -0
  423. package/dist/esm/motion/easing.js.map +1 -0
  424. package/dist/esm/motion/fit.d.ts +8 -0
  425. package/dist/esm/motion/fit.d.ts.map +1 -0
  426. package/dist/esm/motion/fit.js +8 -0
  427. package/dist/esm/motion/fit.js.map +1 -0
  428. package/dist/esm/motion/index.d.ts +27 -0
  429. package/dist/esm/motion/index.d.ts.map +1 -0
  430. package/dist/esm/motion/index.js +21 -0
  431. package/dist/esm/motion/index.js.map +1 -0
  432. package/dist/esm/motion/neon/GlowRenderer.d.ts +31 -0
  433. package/dist/esm/motion/neon/GlowRenderer.d.ts.map +1 -0
  434. package/dist/esm/motion/neon/GlowRenderer.js +14 -0
  435. package/dist/esm/motion/neon/GlowRenderer.js.map +1 -0
  436. package/dist/esm/motion/neon/NeonCanvas.d.ts +42 -0
  437. package/dist/esm/motion/neon/NeonCanvas.d.ts.map +1 -0
  438. package/dist/esm/motion/neon/NeonCanvas.js +92 -0
  439. package/dist/esm/motion/neon/NeonCanvas.js.map +1 -0
  440. package/dist/esm/motion/neon/NeonText.d.ts +26 -0
  441. package/dist/esm/motion/neon/NeonText.d.ts.map +1 -0
  442. package/dist/esm/motion/neon/NeonText.js +103 -0
  443. package/dist/esm/motion/neon/NeonText.js.map +1 -0
  444. package/dist/esm/motion/neon/NeonTextFrame.d.ts +29 -0
  445. package/dist/esm/motion/neon/NeonTextFrame.d.ts.map +1 -0
  446. package/dist/esm/motion/neon/NeonTextFrame.js +33 -0
  447. package/dist/esm/motion/neon/NeonTextFrame.js.map +1 -0
  448. package/dist/esm/motion/neon/artwork.d.ts +29 -0
  449. package/dist/esm/motion/neon/artwork.d.ts.map +1 -0
  450. package/dist/esm/motion/neon/artwork.js +98 -0
  451. package/dist/esm/motion/neon/artwork.js.map +1 -0
  452. package/dist/esm/motion/neon/audio.d.ts +49 -0
  453. package/dist/esm/motion/neon/audio.d.ts.map +1 -0
  454. package/dist/esm/motion/neon/audio.js +161 -0
  455. package/dist/esm/motion/neon/audio.js.map +1 -0
  456. package/dist/esm/motion/neon/config.d.ts +319 -0
  457. package/dist/esm/motion/neon/config.d.ts.map +1 -0
  458. package/dist/esm/motion/neon/config.js +319 -0
  459. package/dist/esm/motion/neon/config.js.map +1 -0
  460. package/dist/esm/motion/neon/flicker.d.ts +82 -0
  461. package/dist/esm/motion/neon/flicker.d.ts.map +1 -0
  462. package/dist/esm/motion/neon/flicker.js +187 -0
  463. package/dist/esm/motion/neon/flicker.js.map +1 -0
  464. package/dist/esm/motion/neon/fonts.d.ts +29 -0
  465. package/dist/esm/motion/neon/fonts.d.ts.map +1 -0
  466. package/dist/esm/motion/neon/fonts.js +47 -0
  467. package/dist/esm/motion/neon/fonts.js.map +1 -0
  468. package/dist/esm/motion/neon/frame.d.ts +22 -0
  469. package/dist/esm/motion/neon/frame.d.ts.map +1 -0
  470. package/dist/esm/motion/neon/frame.js +20 -0
  471. package/dist/esm/motion/neon/frame.js.map +1 -0
  472. package/dist/esm/motion/neon/glitch.d.ts +64 -0
  473. package/dist/esm/motion/neon/glitch.d.ts.map +1 -0
  474. package/dist/esm/motion/neon/glitch.js +108 -0
  475. package/dist/esm/motion/neon/glitch.js.map +1 -0
  476. package/dist/esm/motion/neon/index.d.ts +29 -0
  477. package/dist/esm/motion/neon/index.d.ts.map +1 -0
  478. package/dist/esm/motion/neon/index.js +28 -0
  479. package/dist/esm/motion/neon/index.js.map +1 -0
  480. package/dist/esm/motion/neon/layers.d.ts +56 -0
  481. package/dist/esm/motion/neon/layers.d.ts.map +1 -0
  482. package/dist/esm/motion/neon/layers.js +64 -0
  483. package/dist/esm/motion/neon/layers.js.map +1 -0
  484. package/dist/esm/motion/neon/material.d.ts +68 -0
  485. package/dist/esm/motion/neon/material.d.ts.map +1 -0
  486. package/dist/esm/motion/neon/material.js +51 -0
  487. package/dist/esm/motion/neon/material.js.map +1 -0
  488. package/dist/esm/motion/neon/random.d.ts +15 -0
  489. package/dist/esm/motion/neon/random.d.ts.map +1 -0
  490. package/dist/esm/motion/neon/random.js +37 -0
  491. package/dist/esm/motion/neon/random.js.map +1 -0
  492. package/dist/esm/motion/neon/scene.d.ts +255 -0
  493. package/dist/esm/motion/neon/scene.d.ts.map +1 -0
  494. package/dist/esm/motion/neon/scene.js +532 -0
  495. package/dist/esm/motion/neon/scene.js.map +1 -0
  496. package/dist/esm/motion/neon/synth.d.ts +18 -0
  497. package/dist/esm/motion/neon/synth.d.ts.map +1 -0
  498. package/dist/esm/motion/neon/synth.js +208 -0
  499. package/dist/esm/motion/neon/synth.js.map +1 -0
  500. package/dist/esm/motion/neon/typography.d.ts +53 -0
  501. package/dist/esm/motion/neon/typography.d.ts.map +1 -0
  502. package/dist/esm/motion/neon/typography.js +74 -0
  503. package/dist/esm/motion/neon/typography.js.map +1 -0
  504. package/dist/esm/motion/neon/wall.d.ts +62 -0
  505. package/dist/esm/motion/neon/wall.d.ts.map +1 -0
  506. package/dist/esm/motion/neon/wall.js +106 -0
  507. package/dist/esm/motion/neon/wall.js.map +1 -0
  508. package/dist/esm/motion/paperfold/PaperFold.d.ts +36 -0
  509. package/dist/esm/motion/paperfold/PaperFold.d.ts.map +1 -0
  510. package/dist/esm/motion/paperfold/PaperFold.js +37 -0
  511. package/dist/esm/motion/paperfold/PaperFold.js.map +1 -0
  512. package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts +39 -0
  513. package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts.map +1 -0
  514. package/dist/esm/motion/paperfold/PaperFoldFrame.js +283 -0
  515. package/dist/esm/motion/paperfold/PaperFoldFrame.js.map +1 -0
  516. package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts +27 -0
  517. package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts.map +1 -0
  518. package/dist/esm/motion/paperfold/PaperFoldPlayer.js +56 -0
  519. package/dist/esm/motion/paperfold/PaperFoldPlayer.js.map +1 -0
  520. package/dist/esm/motion/paperfold/art.d.ts +148 -0
  521. package/dist/esm/motion/paperfold/art.d.ts.map +1 -0
  522. package/dist/esm/motion/paperfold/art.js +374 -0
  523. package/dist/esm/motion/paperfold/art.js.map +1 -0
  524. package/dist/esm/motion/paperfold/config.d.ts +47 -0
  525. package/dist/esm/motion/paperfold/config.d.ts.map +1 -0
  526. package/dist/esm/motion/paperfold/config.js +96 -0
  527. package/dist/esm/motion/paperfold/config.js.map +1 -0
  528. package/dist/esm/motion/paperfold/controls.d.ts +57 -0
  529. package/dist/esm/motion/paperfold/controls.d.ts.map +1 -0
  530. package/dist/esm/motion/paperfold/controls.js +506 -0
  531. package/dist/esm/motion/paperfold/controls.js.map +1 -0
  532. package/dist/esm/motion/paperfold/engine.d.ts +397 -0
  533. package/dist/esm/motion/paperfold/engine.d.ts.map +1 -0
  534. package/dist/esm/motion/paperfold/engine.js +699 -0
  535. package/dist/esm/motion/paperfold/engine.js.map +1 -0
  536. package/dist/esm/motion/paperfold/fonts.d.ts +3 -0
  537. package/dist/esm/motion/paperfold/fonts.d.ts.map +1 -0
  538. package/dist/esm/motion/paperfold/fonts.js +21 -0
  539. package/dist/esm/motion/paperfold/fonts.js.map +1 -0
  540. package/dist/esm/motion/paperfold/index.d.ts +17 -0
  541. package/dist/esm/motion/paperfold/index.d.ts.map +1 -0
  542. package/dist/esm/motion/paperfold/index.js +17 -0
  543. package/dist/esm/motion/paperfold/index.js.map +1 -0
  544. package/dist/esm/motion/paperfold/manipulate.d.ts +59 -0
  545. package/dist/esm/motion/paperfold/manipulate.d.ts.map +1 -0
  546. package/dist/esm/motion/paperfold/manipulate.js +161 -0
  547. package/dist/esm/motion/paperfold/manipulate.js.map +1 -0
  548. package/dist/esm/motion/paperfold/presets.d.ts +9 -0
  549. package/dist/esm/motion/paperfold/presets.d.ts.map +1 -0
  550. package/dist/esm/motion/paperfold/presets.js +115 -0
  551. package/dist/esm/motion/paperfold/presets.js.map +1 -0
  552. package/dist/esm/motion/paperfold/template.d.ts +3 -0
  553. package/dist/esm/motion/paperfold/template.d.ts.map +1 -0
  554. package/dist/esm/motion/paperfold/template.js +37 -0
  555. package/dist/esm/motion/paperfold/template.js.map +1 -0
  556. package/dist/esm/motion/player.d.ts +35 -0
  557. package/dist/esm/motion/player.d.ts.map +1 -0
  558. package/dist/esm/motion/player.js +197 -0
  559. package/dist/esm/motion/player.js.map +1 -0
  560. package/dist/esm/motion/promo/PromoFrame.d.ts +31 -0
  561. package/dist/esm/motion/promo/PromoFrame.d.ts.map +1 -0
  562. package/dist/esm/motion/promo/PromoFrame.js +288 -0
  563. package/dist/esm/motion/promo/PromoFrame.js.map +1 -0
  564. package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts +25 -0
  565. package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts.map +1 -0
  566. package/dist/esm/motion/promo/PromoShowcasePlayer.js +56 -0
  567. package/dist/esm/motion/promo/PromoShowcasePlayer.js.map +1 -0
  568. package/dist/esm/motion/promo/config.d.ts +91 -0
  569. package/dist/esm/motion/promo/config.d.ts.map +1 -0
  570. package/dist/esm/motion/promo/config.js +550 -0
  571. package/dist/esm/motion/promo/config.js.map +1 -0
  572. package/dist/esm/motion/promo/controls.d.ts +86 -0
  573. package/dist/esm/motion/promo/controls.d.ts.map +1 -0
  574. package/dist/esm/motion/promo/controls.js +567 -0
  575. package/dist/esm/motion/promo/controls.js.map +1 -0
  576. package/dist/esm/motion/promo/easing.d.ts +3 -0
  577. package/dist/esm/motion/promo/easing.d.ts.map +1 -0
  578. package/dist/esm/motion/promo/easing.js +32 -0
  579. package/dist/esm/motion/promo/easing.js.map +1 -0
  580. package/dist/esm/motion/promo/engine.d.ts +205 -0
  581. package/dist/esm/motion/promo/engine.d.ts.map +1 -0
  582. package/dist/esm/motion/promo/engine.js +551 -0
  583. package/dist/esm/motion/promo/engine.js.map +1 -0
  584. package/dist/esm/motion/promo/fonts.d.ts +7 -0
  585. package/dist/esm/motion/promo/fonts.d.ts.map +1 -0
  586. package/dist/esm/motion/promo/fonts.js +16 -0
  587. package/dist/esm/motion/promo/fonts.js.map +1 -0
  588. package/dist/esm/motion/promo/icons.d.ts +7 -0
  589. package/dist/esm/motion/promo/icons.d.ts.map +1 -0
  590. package/dist/esm/motion/promo/icons.js +26 -0
  591. package/dist/esm/motion/promo/icons.js.map +1 -0
  592. package/dist/esm/motion/promo/index.d.ts +15 -0
  593. package/dist/esm/motion/promo/index.d.ts.map +1 -0
  594. package/dist/esm/motion/promo/index.js +15 -0
  595. package/dist/esm/motion/promo/index.js.map +1 -0
  596. package/dist/esm/motion/promo/presets.d.ts +13 -0
  597. package/dist/esm/motion/promo/presets.d.ts.map +1 -0
  598. package/dist/esm/motion/promo/presets.js +40 -0
  599. package/dist/esm/motion/promo/presets.js.map +1 -0
  600. package/dist/esm/motion/promo/template.d.ts +8 -0
  601. package/dist/esm/motion/promo/template.d.ts.map +1 -0
  602. package/dist/esm/motion/promo/template.js +35 -0
  603. package/dist/esm/motion/promo/template.js.map +1 -0
  604. package/dist/esm/motion/replication2/Replication2Player.d.ts +26 -0
  605. package/dist/esm/motion/replication2/Replication2Player.d.ts.map +1 -0
  606. package/dist/esm/motion/replication2/Replication2Player.js +90 -0
  607. package/dist/esm/motion/replication2/Replication2Player.js.map +1 -0
  608. package/dist/esm/motion/replication2/config.d.ts +78 -0
  609. package/dist/esm/motion/replication2/config.d.ts.map +1 -0
  610. package/dist/esm/motion/replication2/config.js +341 -0
  611. package/dist/esm/motion/replication2/config.js.map +1 -0
  612. package/dist/esm/motion/replication2/controls.d.ts +70 -0
  613. package/dist/esm/motion/replication2/controls.d.ts.map +1 -0
  614. package/dist/esm/motion/replication2/controls.js +283 -0
  615. package/dist/esm/motion/replication2/controls.js.map +1 -0
  616. package/dist/esm/motion/replication2/driver.d.ts +23 -0
  617. package/dist/esm/motion/replication2/driver.d.ts.map +1 -0
  618. package/dist/esm/motion/replication2/driver.js +65 -0
  619. package/dist/esm/motion/replication2/driver.js.map +1 -0
  620. package/dist/esm/motion/replication2/easing.d.ts +19 -0
  621. package/dist/esm/motion/replication2/easing.d.ts.map +1 -0
  622. package/dist/esm/motion/replication2/easing.js +92 -0
  623. package/dist/esm/motion/replication2/easing.js.map +1 -0
  624. package/dist/esm/motion/replication2/engine.d.ts +236 -0
  625. package/dist/esm/motion/replication2/engine.d.ts.map +1 -0
  626. package/dist/esm/motion/replication2/engine.js +470 -0
  627. package/dist/esm/motion/replication2/engine.js.map +1 -0
  628. package/dist/esm/motion/replication2/html.d.ts +30 -0
  629. package/dist/esm/motion/replication2/html.d.ts.map +1 -0
  630. package/dist/esm/motion/replication2/html.js +83 -0
  631. package/dist/esm/motion/replication2/html.js.map +1 -0
  632. package/dist/esm/motion/replication2/index.d.ts +15 -0
  633. package/dist/esm/motion/replication2/index.d.ts.map +1 -0
  634. package/dist/esm/motion/replication2/index.js +15 -0
  635. package/dist/esm/motion/replication2/index.js.map +1 -0
  636. package/dist/esm/motion/replication2/measure.d.ts +3 -0
  637. package/dist/esm/motion/replication2/measure.d.ts.map +1 -0
  638. package/dist/esm/motion/replication2/measure.js +27 -0
  639. package/dist/esm/motion/replication2/measure.js.map +1 -0
  640. package/dist/esm/motion/replication2/metrics.d.ts +6 -0
  641. package/dist/esm/motion/replication2/metrics.d.ts.map +1 -0
  642. package/dist/esm/motion/replication2/metrics.js +7 -0
  643. package/dist/esm/motion/replication2/metrics.js.map +1 -0
  644. package/dist/esm/motion/replication2/presets.d.ts +13 -0
  645. package/dist/esm/motion/replication2/presets.d.ts.map +1 -0
  646. package/dist/esm/motion/replication2/presets.js +63 -0
  647. package/dist/esm/motion/replication2/presets.js.map +1 -0
  648. package/dist/esm/motion/replication2/riv.d.ts +3 -0
  649. package/dist/esm/motion/replication2/riv.d.ts.map +1 -0
  650. package/dist/esm/motion/replication2/riv.js +4 -0
  651. package/dist/esm/motion/replication2/riv.js.map +1 -0
  652. package/dist/esm/motion/replication2/rive-contract.d.ts +27 -0
  653. package/dist/esm/motion/replication2/rive-contract.d.ts.map +1 -0
  654. package/dist/esm/motion/replication2/rive-contract.js +153 -0
  655. package/dist/esm/motion/replication2/rive-contract.js.map +1 -0
  656. package/dist/esm/motion/replication2/template.d.ts +8 -0
  657. package/dist/esm/motion/replication2/template.d.ts.map +1 -0
  658. package/dist/esm/motion/replication2/template.js +32 -0
  659. package/dist/esm/motion/replication2/template.js.map +1 -0
  660. package/dist/esm/motion/sample.d.ts +61 -0
  661. package/dist/esm/motion/sample.d.ts.map +1 -0
  662. package/dist/esm/motion/sample.js +138 -0
  663. package/dist/esm/motion/sample.js.map +1 -0
  664. package/dist/esm/motion/templates/hey-template.d.ts +3 -0
  665. package/dist/esm/motion/templates/hey-template.d.ts.map +1 -0
  666. package/dist/esm/motion/templates/hey-template.js +1549 -0
  667. package/dist/esm/motion/templates/hey-template.js.map +1 -0
  668. package/dist/esm/motion/templates/index.d.ts +22 -0
  669. package/dist/esm/motion/templates/index.d.ts.map +1 -0
  670. package/dist/esm/motion/templates/index.js +15 -0
  671. package/dist/esm/motion/templates/index.js.map +1 -0
  672. package/dist/esm/motion/templates/word-motion.d.ts +3 -0
  673. package/dist/esm/motion/templates/word-motion.d.ts.map +1 -0
  674. package/dist/esm/motion/templates/word-motion.js +1162 -0
  675. package/dist/esm/motion/templates/word-motion.js.map +1 -0
  676. package/dist/esm/motion/types.d.ts +192 -0
  677. package/dist/esm/motion/types.d.ts.map +1 -0
  678. package/dist/esm/motion/types.js +2 -0
  679. package/dist/esm/motion/types.js.map +1 -0
  680. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +32 -0
  681. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -0
  682. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +81 -0
  683. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
  684. package/dist/esm/motion/typesurface/art.d.ts +21 -0
  685. package/dist/esm/motion/typesurface/art.d.ts.map +1 -0
  686. package/dist/esm/motion/typesurface/art.js +854 -0
  687. package/dist/esm/motion/typesurface/art.js.map +1 -0
  688. package/dist/esm/motion/typesurface/config.d.ts +284 -0
  689. package/dist/esm/motion/typesurface/config.d.ts.map +1 -0
  690. package/dist/esm/motion/typesurface/config.js +280 -0
  691. package/dist/esm/motion/typesurface/config.js.map +1 -0
  692. package/dist/esm/motion/typesurface/construct.d.ts +284 -0
  693. package/dist/esm/motion/typesurface/construct.d.ts.map +1 -0
  694. package/dist/esm/motion/typesurface/construct.js +866 -0
  695. package/dist/esm/motion/typesurface/construct.js.map +1 -0
  696. package/dist/esm/motion/typesurface/engine.d.ts +102 -0
  697. package/dist/esm/motion/typesurface/engine.d.ts.map +1 -0
  698. package/dist/esm/motion/typesurface/engine.js +627 -0
  699. package/dist/esm/motion/typesurface/engine.js.map +1 -0
  700. package/dist/esm/motion/typesurface/fonts.d.ts +25 -0
  701. package/dist/esm/motion/typesurface/fonts.d.ts.map +1 -0
  702. package/dist/esm/motion/typesurface/fonts.js +40 -0
  703. package/dist/esm/motion/typesurface/fonts.js.map +1 -0
  704. package/dist/esm/motion/typesurface/index.d.ts +21 -0
  705. package/dist/esm/motion/typesurface/index.d.ts.map +1 -0
  706. package/dist/esm/motion/typesurface/index.js +21 -0
  707. package/dist/esm/motion/typesurface/index.js.map +1 -0
  708. package/dist/esm/motion/typesurface/layout.d.ts +57 -0
  709. package/dist/esm/motion/typesurface/layout.d.ts.map +1 -0
  710. package/dist/esm/motion/typesurface/layout.js +122 -0
  711. package/dist/esm/motion/typesurface/layout.js.map +1 -0
  712. package/dist/esm/motion/typesurface/ops.d.ts +70 -0
  713. package/dist/esm/motion/typesurface/ops.d.ts.map +1 -0
  714. package/dist/esm/motion/typesurface/ops.js +164 -0
  715. package/dist/esm/motion/typesurface/ops.js.map +1 -0
  716. package/dist/esm/motion/typesurface/presets.d.ts +51 -0
  717. package/dist/esm/motion/typesurface/presets.d.ts.map +1 -0
  718. package/dist/esm/motion/typesurface/presets.js +250 -0
  719. package/dist/esm/motion/typesurface/presets.js.map +1 -0
  720. package/dist/esm/motion/typesurface/renderer.d.ts +88 -0
  721. package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -0
  722. package/dist/esm/motion/typesurface/renderer.js +732 -0
  723. package/dist/esm/motion/typesurface/renderer.js.map +1 -0
  724. package/dist/esm/motion/typesurface/shaders.d.ts +17 -0
  725. package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -0
  726. package/dist/esm/motion/typesurface/shaders.js +319 -0
  727. package/dist/esm/motion/typesurface/shaders.js.map +1 -0
  728. package/dist/esm/motion/typesurface/surfaces.d.ts +108 -0
  729. package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -0
  730. package/dist/esm/motion/typesurface/surfaces.js +216 -0
  731. package/dist/esm/motion/typesurface/surfaces.js.map +1 -0
  732. package/dist/esm/motion/typesurface/text.d.ts +17 -0
  733. package/dist/esm/motion/typesurface/text.d.ts.map +1 -0
  734. package/dist/esm/motion/typesurface/text.js +28 -0
  735. package/dist/esm/motion/typesurface/text.js.map +1 -0
  736. package/dist/esm/motion/typesurface/timeline.d.ts +15 -0
  737. package/dist/esm/motion/typesurface/timeline.d.ts.map +1 -0
  738. package/dist/esm/motion/typesurface/timeline.js +57 -0
  739. package/dist/esm/motion/typesurface/timeline.js.map +1 -0
  740. package/dist/esm/motion/validate.d.ts +22 -0
  741. package/dist/esm/motion/validate.d.ts.map +1 -0
  742. package/dist/esm/motion/validate.js +84 -0
  743. package/dist/esm/motion/validate.js.map +1 -0
  744. package/dist/esm/native/RiveReceiptStage.d.ts +25 -2
  745. package/dist/esm/native/RiveReceiptStage.d.ts.map +1 -1
  746. package/dist/esm/native/RiveReceiptStage.js +7 -148
  747. package/dist/esm/native/RiveReceiptStage.js.map +1 -1
  748. package/dist/esm/native/riveReceiptStageFactory.d.ts +26 -0
  749. package/dist/esm/native/riveReceiptStageFactory.d.ts.map +1 -0
  750. package/dist/esm/native/riveReceiptStageFactory.js +159 -0
  751. package/dist/esm/native/riveReceiptStageFactory.js.map +1 -0
  752. package/dist/esm/tokens/stage.d.ts +7 -0
  753. package/dist/esm/tokens/stage.d.ts.map +1 -0
  754. package/dist/esm/tokens/stage.js +7 -0
  755. package/dist/esm/tokens/stage.js.map +1 -0
  756. package/docs/TYPE-SURFACE.md +183 -0
  757. package/package.json +38 -2
  758. package/spec/examples/components/onboarding/animated-status/case1.json +42 -0
  759. package/spec/examples/components/onboarding/animated-status/case2.json +42 -0
  760. package/spec/examples/components/onboarding/animated-status/case3.json +42 -0
  761. package/spec/examples/components/onboarding/animated-status/case4.json +42 -0
  762. package/spec/examples/components/onboarding/animated-status/case5.json +42 -0
  763. package/spec/examples/components/onboarding/send-completion/case1.json +48 -0
  764. package/spec/examples/components/onboarding/send-completion/case2.json +48 -0
  765. package/spec/examples/components/onboarding/send-completion/case3.json +48 -0
  766. package/spec/examples/components/onboarding/send-completion/case4.json +48 -0
  767. package/spec/examples/components/onboarding/send-completion/case5.json +48 -0
  768. package/spec/families/onboarding.schema.json +610 -1
  769. package/src/agent/AgentComponent.tsx +1 -1
  770. package/src/agent/manifests.ts +83 -1
  771. package/src/agent/result.ts +6 -0
  772. package/src/agent/types.ts +1 -1
  773. package/src/components/catalog.ts +21 -1
  774. package/src/components/onboarding/animated-status/AnimatedStage.tsx +18 -0
  775. package/src/components/onboarding/animated-status/AnimatedStage.types.ts +30 -0
  776. package/src/components/onboarding/animated-status/AnimatedStage.web.tsx +99 -0
  777. package/src/components/onboarding/animated-status/AnimatedStatusView.tsx +109 -0
  778. package/src/components/onboarding/animated-status/AnimatedStill.tsx +23 -0
  779. package/src/components/onboarding/animated-status/contract.ts +105 -0
  780. package/src/components/onboarding/animated-status/engine.ts +49 -0
  781. package/src/components/onboarding/animated-status/index.ts +8 -0
  782. package/src/components/onboarding/animated-status/presets.json +126 -0
  783. package/src/components/onboarding/animated-status/riv.ts +4 -0
  784. package/src/components/onboarding/index.ts +4 -0
  785. package/src/components/onboarding/presets.ts +6 -0
  786. package/src/components/onboarding/receipt-printer/ReceiptStage.tsx +46 -7
  787. package/src/components/onboarding/send-completion/SendCompletionView.tsx +164 -0
  788. package/src/components/onboarding/send-completion/SendStage.tsx +27 -0
  789. package/src/components/onboarding/send-completion/SendStage.types.ts +32 -0
  790. package/src/components/onboarding/send-completion/SendStage.web.tsx +116 -0
  791. package/src/components/onboarding/send-completion/SendStill.tsx +19 -0
  792. package/src/components/onboarding/send-completion/contract.ts +127 -0
  793. package/src/components/onboarding/send-completion/engine.ts +37 -0
  794. package/src/components/onboarding/send-completion/index.ts +10 -0
  795. package/src/components/onboarding/send-completion/presets.json +132 -0
  796. package/src/components/onboarding/send-completion/riv.ts +4 -0
  797. package/src/components/onboarding/shared/actions-data.ts +2 -0
  798. package/src/components/onboarding/shared/configColor.ts +72 -0
  799. package/src/components/onboarding/shared/contract.ts +4 -0
  800. package/src/components/onboarding/shared/describe.ts +1 -1
  801. package/src/components/onboarding/shared/mock.ts +2 -0
  802. package/src/components/onboarding/views.ts +8 -0
  803. package/src/motion/MotionPlayer.tsx +62 -0
  804. package/src/motion/agent.ts +288 -0
  805. package/src/motion/cat/Cat.tsx +118 -0
  806. package/src/motion/cat/animation.ts +206 -0
  807. package/src/motion/cat/art.generated.ts +44 -0
  808. package/src/motion/cat/config.ts +186 -0
  809. package/src/motion/cat/index.ts +26 -0
  810. package/src/motion/cat/rig.ts +102 -0
  811. package/src/motion/cat/scene.ts +181 -0
  812. package/src/motion/configurable/config.ts +420 -0
  813. package/src/motion/configurable/controls.ts +93 -0
  814. package/src/motion/easing.ts +55 -0
  815. package/src/motion/fit.ts +8 -0
  816. package/src/motion/index.ts +29 -0
  817. package/src/motion/neon/GlowRenderer.tsx +83 -0
  818. package/src/motion/neon/NeonCanvas.tsx +175 -0
  819. package/src/motion/neon/NeonText.tsx +113 -0
  820. package/src/motion/neon/NeonTextFrame.tsx +67 -0
  821. package/src/motion/neon/artwork.ts +95 -0
  822. package/src/motion/neon/audio.ts +162 -0
  823. package/src/motion/neon/config.ts +484 -0
  824. package/src/motion/neon/flicker.ts +225 -0
  825. package/src/motion/neon/fonts.ts +76 -0
  826. package/src/motion/neon/frame.ts +34 -0
  827. package/src/motion/neon/glitch.ts +142 -0
  828. package/src/motion/neon/index.ts +41 -0
  829. package/src/motion/neon/layers.tsx +209 -0
  830. package/src/motion/neon/material.ts +88 -0
  831. package/src/motion/neon/random.ts +40 -0
  832. package/src/motion/neon/scene.ts +610 -0
  833. package/src/motion/neon/synth.ts +188 -0
  834. package/src/motion/neon/typography.ts +102 -0
  835. package/src/motion/neon/wall.ts +157 -0
  836. package/src/motion/paperfold/PaperFold.tsx +45 -0
  837. package/src/motion/paperfold/PaperFoldFrame.tsx +576 -0
  838. package/src/motion/paperfold/PaperFoldPlayer.tsx +80 -0
  839. package/src/motion/paperfold/art.ts +455 -0
  840. package/src/motion/paperfold/config.ts +98 -0
  841. package/src/motion/paperfold/controls.ts +557 -0
  842. package/src/motion/paperfold/engine.ts +852 -0
  843. package/src/motion/paperfold/fonts.ts +21 -0
  844. package/src/motion/paperfold/index.ts +30 -0
  845. package/src/motion/paperfold/manipulate.ts +188 -0
  846. package/src/motion/paperfold/presets.ts +117 -0
  847. package/src/motion/paperfold/template.ts +38 -0
  848. package/src/motion/player.ts +207 -0
  849. package/src/motion/promo/PromoFrame.tsx +501 -0
  850. package/src/motion/promo/PromoShowcasePlayer.tsx +78 -0
  851. package/src/motion/promo/config.ts +479 -0
  852. package/src/motion/promo/controls.ts +643 -0
  853. package/src/motion/promo/easing.ts +36 -0
  854. package/src/motion/promo/engine.ts +587 -0
  855. package/src/motion/promo/fonts.ts +16 -0
  856. package/src/motion/promo/icons.tsx +29 -0
  857. package/src/motion/promo/index.ts +24 -0
  858. package/src/motion/promo/presets.ts +40 -0
  859. package/src/motion/promo/template.ts +36 -0
  860. package/src/motion/replication2/Replication2Player.tsx +115 -0
  861. package/src/motion/replication2/config.ts +323 -0
  862. package/src/motion/replication2/controls.ts +336 -0
  863. package/src/motion/replication2/driver.ts +92 -0
  864. package/src/motion/replication2/easing.ts +88 -0
  865. package/src/motion/replication2/engine.ts +539 -0
  866. package/src/motion/replication2/html.ts +87 -0
  867. package/src/motion/replication2/index.ts +14 -0
  868. package/src/motion/replication2/measure.ts +28 -0
  869. package/src/motion/replication2/metrics.ts +7 -0
  870. package/src/motion/replication2/presets.ts +63 -0
  871. package/src/motion/replication2/riv.ts +4 -0
  872. package/src/motion/replication2/rive-contract.ts +165 -0
  873. package/src/motion/replication2/template.ts +33 -0
  874. package/src/motion/sample.ts +173 -0
  875. package/src/motion/templates/hey-template.ts +1553 -0
  876. package/src/motion/templates/index.ts +17 -0
  877. package/src/motion/templates/word-motion.ts +1166 -0
  878. package/src/motion/types.ts +162 -0
  879. package/src/motion/typesurface/TypeSurfaceCanvas.tsx +101 -0
  880. package/src/motion/typesurface/art.ts +639 -0
  881. package/src/motion/typesurface/config.ts +512 -0
  882. package/src/motion/typesurface/construct.ts +828 -0
  883. package/src/motion/typesurface/engine.ts +612 -0
  884. package/src/motion/typesurface/fonts.ts +63 -0
  885. package/src/motion/typesurface/index.ts +20 -0
  886. package/src/motion/typesurface/layout.ts +133 -0
  887. package/src/motion/typesurface/ops.ts +196 -0
  888. package/src/motion/typesurface/presets.ts +271 -0
  889. package/src/motion/typesurface/renderer.ts +639 -0
  890. package/src/motion/typesurface/shaders.ts +325 -0
  891. package/src/motion/typesurface/surfaces.ts +300 -0
  892. package/src/motion/typesurface/text.ts +35 -0
  893. package/src/motion/typesurface/timeline.ts +58 -0
  894. package/src/motion/validate.ts +101 -0
  895. package/src/native/RiveReceiptStage.tsx +8 -155
  896. package/src/native/riveReceiptStageFactory.tsx +175 -0
  897. package/src/tokens/stage.ts +6 -0
  898. package/tools/ask/dist/components.mjs +8010 -88
  899. package/tools/ask/dist/neon.js +69 -0
  900. package/tools/ask/mcp.mjs +166 -2
  901. package/tools/ask/neon-render.mjs +143 -0
@@ -0,0 +1,164 @@
1
+ /**
2
+ * **Deformation operators** — the shared vocabulary every surface is built from. Each maps a point
3
+ * of a sheet to where it is after one physical operation, in place, with no allocation:
4
+ *
5
+ * bend a crease: one side rotates about a line through a rounded zone (fold, double fold)
6
+ * roll the sheet winds up from an edge onto a tightening spiral (a rolled newspaper)
7
+ * cylinder the sheet wraps a cylinder (a bottle label, a curved plate, a rolled tube)
8
+ * crumple a network of sharp creases: planar facets, ridges and valleys, and shrinkage
9
+ * rotate rigid turns of the whole object (horizontal / vertical distortion)
10
+ *
11
+ * Frame: the sheet starts in the plane z = 0, x right, y up, the printed side facing +z (the
12
+ * camera). Every operator is an isometry of the sheet, or close to one, so text on it keeps its
13
+ * length and only bends, which is what makes the letters look physically attached. Pure; no React.
14
+ */
15
+ import { hash32 } from '../neon/random';
16
+ const clamp = (v, lo, hi) => (v < lo ? lo : v > hi ? hi : v);
17
+ export const smoothstep = (a, b, v) => {
18
+ const t = clamp((v - a) / (b - a), 0, 1);
19
+ return t * t * (3 - 2 * t);
20
+ };
21
+ export function bend(p, b) {
22
+ if (Math.abs(b.theta) < 1e-5)
23
+ return;
24
+ const nx = b.dy, ny = -b.dx;
25
+ const rx = p[0] - b.px, ry = p[1] - b.py;
26
+ const d = rx * nx + ry * ny;
27
+ if (d <= 0)
28
+ return;
29
+ const t = rx * b.dx + ry * b.dy;
30
+ const h = p[2];
31
+ const w = Math.max(b.width, 1e-5);
32
+ const sig = b.theta > 0 ? 1 : -1;
33
+ const R = w / Math.abs(b.theta) + (b.core ?? 0);
34
+ const zone = Math.abs(b.theta) * R;
35
+ const s = Math.min(d, zone);
36
+ const phi = b.theta * (s / zone);
37
+ // Rotate the radial vector (0, h − σR) about the centre (0, σR) by φ.
38
+ const vy = h - sig * R;
39
+ const c = Math.cos(phi), sn = Math.sin(phi);
40
+ let dd = -vy * sn;
41
+ let zz = sig * R + vy * c;
42
+ if (d > zone) {
43
+ dd += (d - zone) * Math.cos(b.theta);
44
+ zz += (d - zone) * Math.sin(b.theta);
45
+ }
46
+ p[0] = b.px + t * b.dx + dd * nx;
47
+ p[1] = b.py + t * b.dy + dd * ny;
48
+ p[2] = zz;
49
+ }
50
+ /** Signed distance from the crease (positive on the moving side), for shading and debug. */
51
+ export function bendDistance(x, y, b) {
52
+ return (x - b.px) * b.dy - (y - b.py) * b.dx;
53
+ }
54
+ export function roll(p, r) {
55
+ if (r.reach <= 1e-5)
56
+ return;
57
+ const rx = p[0] - r.ox, ry = p[1] - r.oy;
58
+ const e = rx * r.ex + ry * r.ey;
59
+ if (e >= r.reach)
60
+ return;
61
+ const t = rx * -r.ey + ry * r.ex;
62
+ const s = r.reach - Math.max(e, r.reach - r.length);
63
+ // r(φ) = R − kφ, s(φ) = Rφ − kφ²/2, and the spiral ends at `inner` after the whole length.
64
+ const R = r.radius;
65
+ const k = Math.max(1e-6, ((R - r.inner) * (R + r.inner)) / (2 * r.length));
66
+ const disc = Math.max(0, R * R - 2 * k * s);
67
+ const phi = (R - Math.sqrt(disc)) / k;
68
+ const rad = Math.max(1e-4, R - k * phi - r.sign * p[2]);
69
+ const ee = r.reach - rad * Math.sin(phi);
70
+ const zz = r.sign * R - rad * r.sign * Math.cos(phi);
71
+ p[0] = r.ox + ee * r.ex + t * -r.ey;
72
+ p[1] = r.oy + ee * r.ey + t * r.ex;
73
+ p[2] = zz;
74
+ }
75
+ /* ---------------- cylinder (wrap around an axis) ---------------- */
76
+ /**
77
+ * Wrap onto a cylinder whose axis is parallel to y, behind the sheet, at distance 1/κ. κ = 0 is
78
+ * flat; the front (x = 0) never moves, so the text in the middle stays put while its ends curve
79
+ * away. Arc length is kept: a label of width w covers w / radius radians.
80
+ */
81
+ export function cylinder(p, kappa) {
82
+ if (Math.abs(kappa) < 1e-6)
83
+ return;
84
+ const r = 1 / kappa + p[2];
85
+ const a = p[0] * kappa;
86
+ p[0] = Math.sin(a) * r;
87
+ p[2] = Math.cos(a) * r - 1 / kappa;
88
+ }
89
+ /** The creases of one crumple, in sheet units where the sheet is 1 wide. Deterministic per seed. */
90
+ export function crumpleCreases(seed, scale, aspect) {
91
+ const out = [];
92
+ const r = (i, salt) => hash32(seed, i, salt) / 4294967296;
93
+ const layer = (count, base, lenMin, lenMax, wMin, wMax, amp, salt) => {
94
+ for (let i = 0; i < count; i++) {
95
+ const a = r(i, salt + 1) * Math.PI;
96
+ const sgn = r(i, salt + 2) < 0.62 ? 1 : -1;
97
+ out.push({
98
+ cx: (r(i, salt + 3) - 0.5) * 1.25,
99
+ cy: (r(i, salt + 4) - 0.5) * 1.25 * aspect,
100
+ dx: Math.cos(a), dy: Math.sin(a),
101
+ half: (lenMin + (lenMax - lenMin) * r(i, salt + 5)) * scale * base,
102
+ width: (wMin + (wMax - wMin) * r(i, salt + 6)) * scale,
103
+ height: sgn * amp * (0.35 + 0.65 * r(i, salt + 7)),
104
+ });
105
+ }
106
+ };
107
+ const k = Math.round(26 / Math.max(0.5, scale));
108
+ layer(k, 1, 0.3, 0.85, 0.06, 0.17, 1, 10);
109
+ layer(k * 2 + 12, 1, 0.12, 0.35, 0.035, 0.08, 0.3, 20);
110
+ return out;
111
+ }
112
+ /**
113
+ * The crumple field at (x, y) (sheet units, 1 wide): `out = [dx, dy, dz]` for a unit crumple.
114
+ * `fine` keeps only the small creases, which are the wrinkles.
115
+ */
116
+ export function crumpleField(creases, x, y, out, fine = false) {
117
+ let dx = 0, dy = 0, dz = 0;
118
+ for (const c of creases) {
119
+ if (fine && Math.abs(c.height) > 0.5)
120
+ continue;
121
+ const rx = x - c.cx, ry = y - c.cy;
122
+ const along = rx * c.dx + ry * c.dy;
123
+ const across = rx * -c.dy + ry * c.dx;
124
+ const aa = Math.abs(across);
125
+ if (aa >= c.width)
126
+ continue;
127
+ const la = Math.abs(along) / c.half;
128
+ if (la >= 1)
129
+ continue;
130
+ const win = la < 0.55 ? 1 : 1 - smoothstep(0.55, 1, la);
131
+ const tent = (1 - aa / c.width) * win;
132
+ dz += c.height * tent * c.width;
133
+ // The paper a ridge stands up in comes from both sides of it: pull the flanks in.
134
+ const pull = -0.12 * Math.sign(across) * Math.abs(c.height) * c.width * tent;
135
+ dx += pull * -c.dy;
136
+ dy += pull * c.dx;
137
+ }
138
+ out[0] = dx;
139
+ out[1] = dy;
140
+ out[2] = dz;
141
+ }
142
+ /* ---------------- rigid transforms ---------------- */
143
+ /** Rotate about the y axis (a), then x (b), then z (c), radians. */
144
+ export function rotate(p, a, b, c) {
145
+ if (a) {
146
+ const ca = Math.cos(a), sa = Math.sin(a);
147
+ const x = p[0] * ca + p[2] * sa;
148
+ p[2] = -p[0] * sa + p[2] * ca;
149
+ p[0] = x;
150
+ }
151
+ if (b) {
152
+ const cb = Math.cos(b), sb = Math.sin(b);
153
+ const y = p[1] * cb - p[2] * sb;
154
+ p[2] = p[1] * sb + p[2] * cb;
155
+ p[1] = y;
156
+ }
157
+ if (c) {
158
+ const cc = Math.cos(c), sc = Math.sin(c);
159
+ const x = p[0] * cc - p[1] * sc;
160
+ p[1] = p[0] * sc + p[1] * cc;
161
+ p[0] = x;
162
+ }
163
+ }
164
+ //# sourceMappingURL=ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type TSSurfaceType, type TypeSurfaceConfig } from './config';
2
+ import { type TSObjectMaterialId, type TSObjectSpec } from './construct';
3
+ import { type TSMeasurer } from './layout';
4
+ /**
5
+ * Put the surface in a named state (`SURFACES[type].states`). The surface's shape and the camera
6
+ * change; the text, and how far it has wrapped and morphed, do not.
7
+ */
8
+ export declare function applySurfaceState(config: TypeSurfaceConfig, stateId: string): TypeSurfaceConfig;
9
+ /**
10
+ * Switch surface: its default state and its natural text material, keeping the words and type.
11
+ * Stages that drive a transformation the new surface has no use for are kept; they just do nothing.
12
+ */
13
+ export declare function switchSurface(config: TypeSurfaceConfig, type: TSSurfaceType | string): TypeSurfaceConfig;
14
+ export type TypeSurfacePreset = {
15
+ id: string;
16
+ name: string;
17
+ description: string;
18
+ config: TypeSurfaceConfig;
19
+ };
20
+ /**
21
+ * Put the text on a constructed object: the object replaces the surface, the text wraps the part it
22
+ * names and prints in its own colour (not multiplied into the part's). The words and type are kept.
23
+ */
24
+ export declare function withObject(config: TypeSurfaceConfig, object: TSObjectSpec): TypeSurfaceConfig;
25
+ /**
26
+ * Size the text to the object: as large as fits the part's front face (`OBJECT_FRONT_ARC` of its
27
+ * circumference) and the text area's height, on one block that never wraps. Without an object the
28
+ * config is returned as it is. Pass the canvas measurer in a browser for exact widths.
29
+ */
30
+ export declare function fitObjectText(config: TypeSurfaceConfig, measure?: TSMeasurer): TypeSurfaceConfig;
31
+ export declare const TYPE_SURFACE_PRESETS: TypeSurfacePreset[];
32
+ export declare function findTypeSurfacePreset(id: string): TypeSurfacePreset | undefined;
33
+ /** A few words an agent can say → a config. Unknown fonts/states are ignored, not fatal. */
34
+ export type TypeSurfaceShorthand = {
35
+ text?: string;
36
+ surface?: TSSurfaceType | string;
37
+ state?: string;
38
+ font?: string;
39
+ color?: string;
40
+ material?: TypeSurfaceConfig['material']['type'];
41
+ /** One of the preset ids to start from. */
42
+ preset?: string;
43
+ /** Instead of a surface: a recipe name (`TS_RECIPES`), or a whole object spec built from primitives. */
44
+ object?: string | TSObjectSpec;
45
+ /** With a recipe name: the object's colour and material. The text is then sized to the object (`fitObjectText`) and, with no `color`, inked to read on it. */
46
+ objectColor?: string;
47
+ objectMaterial?: TSObjectMaterialId;
48
+ };
49
+ /** Build an experiment from shorthand: preset → surface → state → text, font, colour, material. */
50
+ export declare function createTypeSurface(s?: TypeSurfaceShorthand): TypeSurfaceConfig;
51
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../../src/motion/typesurface/presets.ts"],"names":[],"mappings":"AAQA,OAAO,EAA4E,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAA+B,MAAM,UAAU,CAAC;AAC7K,OAAO,EAAkC,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAWzE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAW/F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,iBAAiB,CAIxG;AAKD,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAQ7G;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAW7F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,UAA6B,GAAG,iBAAiB,CASlH;AAeD,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EA6HnD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE/E;AAED,4FAA4F;AAC5F,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,8JAA8J;IAC9J,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,CAAC,GAAE,oBAAyB,GAAG,iBAAiB,CAgBjF"}
@@ -0,0 +1,250 @@
1
+ /* eslint-disable comppack/no-raw-colour -- preset type and ink colours are experiment content. */
2
+ /**
3
+ * **Experiments.** Each preset is a complete config: text, typography, surface and state, how far
4
+ * every transformation goes, the material, and the stages that play it. They are starting points
5
+ * for looking, not fixed animations: every value is still a slider. Plus the helpers that put a
6
+ * surface into a named state and build an experiment from a few words (for agents).
7
+ */
8
+ import { findTypeSurfaceFont } from './fonts';
9
+ import { DEFAULT_TYPE_SURFACE, REST_DEFORMATION, resolveTypeSurface } from './config';
10
+ import { createObject, OBJECT_FRONT_ARC } from './construct';
11
+ import { estimateMeasurer, layoutText } from './layout';
12
+ import { getSurface, objectSurface, surfaceFor } from './surfaces';
13
+ const isObj = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
14
+ function merge(base, over) {
15
+ if (!isObj(base) || !isObj(over))
16
+ return (over === undefined ? base : over);
17
+ const out = { ...base };
18
+ for (const [k, v] of Object.entries(over))
19
+ out[k] = merge(base[k], v);
20
+ return out;
21
+ }
22
+ /**
23
+ * Put the surface in a named state (`SURFACES[type].states`). The surface's shape and the camera
24
+ * change; the text, and how far it has wrapped and morphed, do not.
25
+ */
26
+ export function applySurfaceState(config, stateId) {
27
+ const def = surfaceFor(config);
28
+ const state = def.states[stateId];
29
+ if (!state)
30
+ return config;
31
+ const deformation = merge(REST_DEFORMATION, state.deformation);
32
+ return {
33
+ ...config,
34
+ surface: { ...config.surface, state: stateId },
35
+ deformation: { ...deformation, wrap: config.deformation.wrap, morph: config.deformation.morph },
36
+ view: { ...config.view, roll: 0, ...state.view },
37
+ };
38
+ }
39
+ /**
40
+ * Switch surface: its default state and its natural text material, keeping the words and type.
41
+ * Stages that drive a transformation the new surface has no use for are kept; they just do nothing.
42
+ */
43
+ export function switchSurface(config, type) {
44
+ const def = getSurface(type);
45
+ const next = { ...config, object: null, surface: { ...config.surface, type: type, color: null }, material: { ...config.material, ...def.material } };
46
+ return applySurfaceState(next, def.defaultState);
47
+ }
48
+ const stage = (key, start, end, label, out) => ({ key, start, end, easing: 'ease-in-out', label: label ?? key, ...(out ? { outStart: out[0], outEnd: out[1] } : {}) });
49
+ const on = (type, input) => {
50
+ const def = getSurface(type);
51
+ const base = { ...DEFAULT_TYPE_SURFACE, material: { ...DEFAULT_TYPE_SURFACE.material, ...def.material } };
52
+ return resolveTypeSurface({ ...input, surface: { type, state: def.defaultState, seed: 7, color: null, ...input.surface } }, { ...base, deformation: REST_DEFORMATION });
53
+ };
54
+ /**
55
+ * Put the text on a constructed object: the object replaces the surface, the text wraps the part it
56
+ * names and prints in its own colour (not multiplied into the part's). The words and type are kept.
57
+ */
58
+ export function withObject(config, object) {
59
+ const def = objectSurface(object);
60
+ return {
61
+ ...config, object,
62
+ surface: { ...config.surface, type: 'object', state: def.defaultState, color: null },
63
+ typography: { ...config.typography, blendMode: 'normal' },
64
+ placement: { ...config.placement, x: 0.5, y: 0.5, rotation: 0 },
65
+ deformation: { ...merge(REST_DEFORMATION, def.states[def.defaultState].deformation), wrap: 1 },
66
+ material: { ...config.material, ...def.material, blend: 1, gloss: 0.2 },
67
+ view: { ...config.view, roll: 0 },
68
+ };
69
+ }
70
+ /**
71
+ * Size the text to the object: as large as fits the part's front face (`OBJECT_FRONT_ARC` of its
72
+ * circumference) and the text area's height, on one block that never wraps. Without an object the
73
+ * config is returned as it is. Pass the canvas measurer in a browser for exact widths.
74
+ */
75
+ export function fitObjectText(config, measure = estimateMeasurer) {
76
+ if (!config.object || !config.text.trim())
77
+ return config;
78
+ const def = objectSurface(config.object);
79
+ const arc = (def.width / def.curveRadius) * (180 / Math.PI);
80
+ const wide = 1000 * Math.min(1, OBJECT_FRONT_ARC / arc) * 0.95;
81
+ const high = 1000 * (def.height / def.width) * 0.8;
82
+ const at100 = layoutText(config.text, { ...config.typography, fontSize: 100 }, 0, measure);
83
+ const fontSize = Math.max(12, Math.min(400, Math.floor(100 * Math.min(wide / at100.width, high / at100.height))));
84
+ return { ...config, typography: { ...config.typography, fontSize }, placement: { ...config.placement, maxWidth: 0 } };
85
+ }
86
+ /** Near-white or near-black, whichever reads on a colour. */
87
+ const inkOn = (hex) => {
88
+ const h = hex.length === 4 ? hex.slice(1).split('').map((c) => c + c).join('') : hex.slice(1);
89
+ const n = parseInt(h, 16);
90
+ return 0.299 * ((n >> 16) & 255) + 0.587 * ((n >> 8) & 255) + 0.114 * (n & 255) > 140 ? '#1B1D20' : '#FFFFFF';
91
+ };
92
+ const onObject = (object, input) => resolveTypeSurface(input, withObject({ ...DEFAULT_TYPE_SURFACE, deformation: REST_DEFORMATION }, object));
93
+ const ANTON = "'Anton', Impact, sans-serif";
94
+ const PLAYFAIR = "'Playfair Display', Georgia, serif";
95
+ export const TYPE_SURFACE_PRESETS = [
96
+ {
97
+ id: 'newspaper-fold', name: 'Newspaper · Fold', description: 'The headline lands, then the page folds under through NEWS: the letters wrap round the crease and vanish beneath.',
98
+ config: on('newspaper', {
99
+ text: 'BREAKING NEWS', typography: { fontFamily: ANTON, fontSize: 132, color: '#E0271B' },
100
+ deformation: { wrap: 1, fold: { amount: 1, position: 0.7, angle: 180, width: 0.03, direction: 'under', influence: 0.8 } },
101
+ material: { blend: 0.55 },
102
+ animation: { duration: 9000, stages: [stage('wrap', 0.03, 0.22), stage('blend', 0.12, 0.28, 'print'), stage('fold', 0.32, 0.75)] },
103
+ }),
104
+ },
105
+ {
106
+ id: 'newspaper-fold-word', name: 'Newspaper · Crease through a word', description: 'The hard case: a crease runs through the middle of a word. Letters compress, turn, darken and pass behind.',
107
+ config: on('newspaper', {
108
+ text: 'EXTRAORDINARY', typography: { fontFamily: "'Playfair Display', Georgia, serif", fontWeight: 900, fontSize: 118, letterSpacing: 0, color: '#141210' },
109
+ placement: { y: 0.3 },
110
+ deformation: { wrap: 1, tiltX: -0.12, fold: { amount: 1, position: 0.5, angle: 80, width: 0.018, direction: 'over', influence: 1 } },
111
+ material: { blend: 0.9 },
112
+ animation: { duration: 7000, stages: [stage('fold', 0.1, 0.7)] },
113
+ }),
114
+ },
115
+ {
116
+ id: 'newspaper-four-folds', name: 'Newspaper · Four folds', description: 'An accordion of four creases, the farthest folded first; the last crease runs through the headline, so the lower half of the letters tilts away.',
117
+ config: on('newspaper', {
118
+ text: 'BREAKING NEWS', typography: { fontFamily: ANTON, fontSize: 150, color: '#E0271B' }, placement: { y: 0.3 },
119
+ deformation: {
120
+ wrap: 1,
121
+ fold: { amount: 1, position: 0.84, angle: 100, direction: 'under', orientation: 'horizontal', width: 0.02 },
122
+ fold2: { amount: 1, position: 0.68, angle: 100, direction: 'over', orientation: 'horizontal', width: 0.02 },
123
+ fold3: { amount: 1, position: 0.52, angle: 100, direction: 'under', orientation: 'horizontal', width: 0.02 },
124
+ fold4: { amount: 1, position: 0.31, angle: 50, direction: 'over', orientation: 'horizontal', width: 0.02, influence: 1 },
125
+ },
126
+ material: { blend: 0.85 },
127
+ animation: { duration: 10000, stages: [stage('fold', 0.05, 0.28), stage('fold2', 0.28, 0.5), stage('fold3', 0.5, 0.72), stage('fold4', 0.72, 0.94)] },
128
+ }),
129
+ },
130
+ {
131
+ id: 'newspaper-wraps', name: 'Newspaper · Wraps', description: 'Both sides wrap round rods and the bottom rolls under a third: the headline stays on the flat middle, the columns curve away.',
132
+ config: on('newspaper', {
133
+ text: 'BREAKING NEWS', typography: { fontFamily: ANTON, fontSize: 120, color: '#E0271B' }, placement: { y: 0.34 },
134
+ deformation: {
135
+ wrap: 1,
136
+ wrap1: { amount: 1, position: 0.9, radius: 0.05, angle: 190, direction: 'under', orientation: 'vertical', side: 'far' },
137
+ wrap2: { amount: 1, position: 0.1, radius: 0.05, angle: 190, direction: 'under', orientation: 'vertical', side: 'near' },
138
+ wrap3: { amount: 1, position: 0.72, radius: 0.07, angle: 210, direction: 'under', orientation: 'horizontal', side: 'far' },
139
+ wrap4: { amount: 0.6, position: 0.12, radius: 0.04, angle: 120, direction: 'over', orientation: 'horizontal', side: 'near' },
140
+ },
141
+ material: { blend: 0.8 },
142
+ animation: { duration: 10000, stages: [stage('wrap1', 0.05, 0.3, 'wrap 1'), stage('wrap2', 0.25, 0.5, 'wrap 2'), stage('wrap3', 0.5, 0.75, 'wrap 3'), stage('wrap4', 0.72, 0.95, 'wrap 4')] },
143
+ }),
144
+ },
145
+ {
146
+ id: 'newspaper-crumple', name: 'Newspaper · Crumple', description: 'Printed headline → folded once → crushed. The letters break across facets like real newsprint.',
147
+ config: on('newspaper', {
148
+ text: 'BREAKING NEWS', typography: { fontFamily: PLAYFAIR, fontWeight: 900, fontSize: 124, letterSpacing: -2, color: '#161412' },
149
+ deformation: { wrap: 1, fold: { amount: 0.55, position: 0.5, orientation: 'horizontal', direction: 'under', width: 0.05 }, crumple: { amount: 0.9, scale: 1 } },
150
+ material: { blend: 1, halftone: 0 },
151
+ animation: { duration: 9000, stages: [stage('fold', 0.08, 0.3), stage('crumple', 0.32, 0.8, 'crumple')] },
152
+ }),
153
+ },
154
+ {
155
+ id: 'newspaper-roll', name: 'Newspaper · Roll', description: 'The page rolls up from the bottom into a tube; the headline rides the outside of the roll.',
156
+ config: on('newspaper', {
157
+ text: 'BREAKING NEWS', typography: { fontFamily: ANTON, fontSize: 132, color: '#E0271B' }, placement: { y: 0.3 },
158
+ deformation: { wrap: 1, roll: { amount: 0.7, edge: 'bottom', direction: 'under', radius: 0.085 } },
159
+ material: { blend: 0.8 },
160
+ animation: { duration: 8000, stages: [stage('roll', 0.1, 0.8, 'roll')] },
161
+ }),
162
+ },
163
+ {
164
+ id: 'bottle-wrap', name: 'Bottle · Wrap', description: 'Flat label → cylinder → the type wraps it → glass reflections → printed.',
165
+ config: on('bottle', {
166
+ text: 'HELLO\nWORLD', typography: { fontFamily: "'Archivo Black', 'Arial Black', sans-serif", fontSize: 150, lineHeight: 0.92, letterSpacing: -3, color: '#161616', align: 'left' },
167
+ placement: { x: 0.5, y: 0.47 },
168
+ deformation: { wrap: 1, curve: 1 },
169
+ material: { blend: 1, gloss: 0.25 },
170
+ view: { roll: -28, motion: 0.8 },
171
+ animation: { duration: 9000, stages: [stage('curve', 0.05, 0.38, 'cylinder'), stage('wrap', 0.3, 0.55), stage('blend', 0.55, 0.85, 'print')] },
172
+ }),
173
+ },
174
+ {
175
+ id: 'wrapper-fold', name: 'Wrapper · Fold', description: 'Flat film → inflated pack → the end folds under → wrinkles → printed on the foil.',
176
+ config: on('wrapper', {
177
+ text: 'SUMMER\nSALE', typography: { fontFamily: ANTON, fontSize: 170, lineHeight: 0.9, color: '#C8102E', gradient: { enabled: true, from: '#E3262B', to: '#8E0B1F', angle: 90 } },
178
+ placement: { x: 0.46, y: 0.5, rotation: -6 },
179
+ deformation: { wrap: 1, curve: 1, wrinkle: 0.7, fold: { amount: 0.85, position: 0.82, angle: 150, width: 0.05, direction: 'under' } },
180
+ material: { blend: 1 },
181
+ animation: { duration: 9000, stages: [stage('curve', 0.05, 0.3, 'inflate'), stage('wrap', 0.12, 0.36), stage('fold', 0.36, 0.58), stage('wrinkle', 0.55, 0.75), stage('blend', 0.7, 0.92, 'print')] },
182
+ }),
183
+ },
184
+ {
185
+ id: 'fabric-fold', name: 'Fabric · Fold', description: 'Screen print on cotton: the cloth drifts into folds, then folds over; the ink moves with the weave.',
186
+ config: on('fabric', {
187
+ text: 'WEEKEND\nCLUB', typography: { fontFamily: "'Oswald', 'Arial Narrow', sans-serif", fontWeight: 700, fontSize: 150, lineHeight: 0.95, letterSpacing: 6, color: '#F2EBDD' },
188
+ placement: { y: 0.46 },
189
+ deformation: { wrap: 1, wave: 0.75, fold: { amount: 1, position: 0.88, angle: 170, width: 0.05, direction: 'over' } },
190
+ material: { blend: 1 }, view: { motion: 1 },
191
+ animation: { duration: 9000, stages: [stage('wrap', 0.03, 0.2), stage('wave', 0.15, 0.5, 'folds'), stage('fold', 0.55, 0.85)] },
192
+ }),
193
+ },
194
+ {
195
+ id: 'paper-crumple', name: 'Paper · Note', description: 'A marker note on a plain sheet, crushed.',
196
+ config: on('paper', {
197
+ text: 'Call me\nback!', typography: { fontFamily: "'Permanent Marker', cursive", fontSize: 118, lineHeight: 1.05, color: '#1F3FA8', letterSpacing: 0 },
198
+ placement: { y: 0.42, rotation: -5 },
199
+ deformation: { wrap: 1, crumple: { amount: 0.75, scale: 0.9 } },
200
+ material: { blend: 1, inkRoughness: 0.2 },
201
+ animation: { duration: 8000, stages: [stage('crumple', 0.15, 0.7, 'crush')] },
202
+ }),
203
+ },
204
+ {
205
+ id: 'object-tumbler', name: 'Tumbler · Built from parts', description: 'No tumbler exists in the library: a hollow tapered cylinder, a ring for the rim and a short cylinder for the foot. The name wraps the taper.',
206
+ config: onObject(createObject('tumbler'), {
207
+ text: 'Shekhar', typography: { fontFamily: "'Archivo Black', 'Arial Black', sans-serif", fontSize: 120, letterSpacing: 0, color: '#F4F1EA' },
208
+ view: { motion: 0.8 },
209
+ animation: { duration: 8000, stages: [stage('curve', 0.05, 0.45, 'wrap round'), stage('blend', 0.45, 0.85, 'print')] },
210
+ }),
211
+ },
212
+ {
213
+ id: 'object-mug', name: 'Mug · Built from parts', description: 'A hollow cylinder and a tube along a path for the handle, glazed black; the name is printed in white.',
214
+ config: onObject(createObject('mug'), {
215
+ text: 'Tushar', typography: { fontFamily: PLAYFAIR, fontWeight: 900, fontSize: 150, letterSpacing: 0, color: '#FFFFFF' },
216
+ view: { motion: 0.8 },
217
+ animation: { duration: 8000, stages: [stage('curve', 0.05, 0.45, 'wrap round'), stage('blend', 0.45, 0.85, 'print')] },
218
+ }),
219
+ },
220
+ ];
221
+ export function findTypeSurfacePreset(id) {
222
+ return TYPE_SURFACE_PRESETS.find((p) => p.id === id);
223
+ }
224
+ /** Build an experiment from shorthand: preset → surface → state → text, font, colour, material. */
225
+ export function createTypeSurface(s = {}) {
226
+ let cfg = findTypeSurfacePreset(s.preset ?? '')?.config ?? TYPE_SURFACE_PRESETS[0].config;
227
+ if (s.surface && s.surface !== cfg.surface.type)
228
+ cfg = switchSurface(cfg, s.surface);
229
+ if (s.object)
230
+ cfg = withObject(cfg, typeof s.object === 'string' ? createObject(s.object, { color: s.objectColor, material: s.objectMaterial }) : s.object);
231
+ if (s.state)
232
+ cfg = applySurfaceState(cfg, s.state);
233
+ if (s.text !== undefined)
234
+ cfg = { ...cfg, text: s.text };
235
+ const font = s.font ? findTypeSurfaceFont(s.font) : undefined;
236
+ if (font)
237
+ cfg = { ...cfg, typography: { ...cfg.typography, fontFamily: font.family, fontWeight: font.weights.includes(cfg.typography.fontWeight) ? cfg.typography.fontWeight : font.weights[font.weights.length - 1] } };
238
+ if (s.color && /^#[0-9a-f]{6}$/i.test(s.color))
239
+ cfg = { ...cfg, typography: { ...cfg.typography, color: s.color.toUpperCase() } };
240
+ if (s.material)
241
+ cfg = { ...cfg, material: { ...cfg.material, type: s.material } };
242
+ if (cfg.object && s.object) {
243
+ // On an object the words start legible: sized to its front face, in an ink that reads on it.
244
+ if (!s.color)
245
+ cfg = { ...cfg, typography: { ...cfg.typography, color: inkOn(objectSurface(cfg.object).color) } };
246
+ cfg = fitObjectText(cfg);
247
+ }
248
+ return cfg;
249
+ }
250
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../../src/motion/typesurface/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { type TypeSurfaceConfig } from './config';
2
+ import { type SceneGeometry } from './engine';
3
+ import { type TSTextLayout } from './layout';
4
+ import { type SurfaceDef } from './surfaces';
5
+ import type { Vec3 } from './ops';
6
+ export type TSDebug = {
7
+ mesh?: boolean;
8
+ folds?: boolean;
9
+ deformation?: boolean;
10
+ bounds?: boolean;
11
+ baseline?: boolean;
12
+ normals?: boolean;
13
+ controls?: boolean;
14
+ mapping?: boolean;
15
+ noShadows?: boolean;
16
+ };
17
+ /** The camera for a config and geometry: perspective sets tilt and field of view together (a dolly zoom). */
18
+ export declare function cameraFor(config: TypeSurfaceConfig, def: SurfaceDef, g: SceneGeometry, aspect: number): {
19
+ eye: Vec3;
20
+ target: Vec3;
21
+ up: Vec3;
22
+ fov: number;
23
+ near: number;
24
+ far: number;
25
+ };
26
+ export declare class TypeSurfaceRenderer {
27
+ private canvas;
28
+ readonly ok: boolean;
29
+ readonly error: string | null;
30
+ private gl;
31
+ private progSurf;
32
+ private progText;
33
+ private progDepth;
34
+ private engines;
35
+ private art;
36
+ private grain;
37
+ private textTex;
38
+ private textKey;
39
+ private layout;
40
+ private layoutKey;
41
+ private bufs;
42
+ private shadowFbo;
43
+ private shadowTex;
44
+ private shadowSize;
45
+ private indexVersions;
46
+ private viewProj;
47
+ private fontsVersion;
48
+ private lastGeometry;
49
+ private propUv;
50
+ /** Bumped when an engine is (re)built, so static buffers (uvs, triangles) are uploaded again. */
51
+ private geometryVersion;
52
+ private uvVersions;
53
+ private onFonts;
54
+ constructor(canvas: HTMLCanvasElement);
55
+ dispose(): void;
56
+ private program;
57
+ private loc;
58
+ private texture;
59
+ private buffer;
60
+ private attr;
61
+ private attrKeep;
62
+ private elements;
63
+ private engine;
64
+ private artFor;
65
+ /** The text layout for a config (cached); null for empty text. */
66
+ layoutFor(config: TypeSurfaceConfig): TSTextLayout | null;
67
+ private textTexture;
68
+ /** Where a world point lands on the canvas, in CSS pixels (for the debug overlay and picking). */
69
+ project(p: Vec3 | Float32Array, o?: number): [number, number, number];
70
+ get geometry(): SceneGeometry | null;
71
+ /**
72
+ * Resolves once everything `config` draws with has loaded: its text font and the artwork's faces.
73
+ * It waits for stylesheets still loading, and (unless `loadFonts` is false) links the lab's Google
74
+ * Fonts stylesheet when the font is one of `TS_FONTS` and the page has not declared it. Any other
75
+ * undeclared font resolves with its fallback. Render after it.
76
+ */
77
+ whenReady(config: TypeSurfaceConfig, loadFonts?: boolean): Promise<void>;
78
+ /** Draw `config` (already at its timeline moment) at `timeMs`. */
79
+ render(config: TypeSurfaceConfig, timeMs: number, debug?: TSDebug): SceneGeometry | null;
80
+ /** The nearest sheet vertex to a canvas point (CSS px): its uv, or null off the surface. */
81
+ pick(x: number, y: number): {
82
+ u: number;
83
+ v: number;
84
+ } | null;
85
+ }
86
+ /** Draw the debug overlay (mesh, folds, bounds, baselines, normals, control points) on a 2D canvas. */
87
+ export declare function drawDebugOverlay(ctx: CanvasRenderingContext2D, r: TypeSurfaceRenderer, debug: TSDebug): void;
88
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/motion/typesurface/renderer.ts"],"names":[],"mappings":"AASA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/E,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAqDtM,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;;;;;;;EAerG;AAED,qBAAa,mBAAmB;IA4BlB,OAAO,CAAC,MAAM;IA3B1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,GAAG,CAAuG;IAClH,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,MAAM,CAA6B;IAC3C,iGAAiG;IACjG,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAAkC;gBAE7B,MAAM,EAAE,iBAAiB;IA6B7C,OAAO;IAKP,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,MAAM;IAed,kEAAkE;IAClE,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI;IAWzD,OAAO,CAAC,WAAW;IASnB,kGAAkG;IAClG,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,CAAC,SAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAUhE,IAAI,QAAQ,IAAI,aAAa,GAAG,IAAI,CAA8B;IAElE;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E,kEAAkE;IAClE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,OAAY,GAAG,aAAa,GAAG,IAAI;IA6O5F,4FAA4F;IAC5F,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAe5D;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA6D5G"}