@exponential_app/eui 0.2.1 → 0.4.0

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 (452) hide show
  1. package/catalog/a11y.json +25 -1
  2. package/catalog/core.catalog.json +426 -6
  3. package/catalog/core.schema.json +634 -4
  4. package/catalog/host.json +10 -0
  5. package/catalog/layout.json +3 -2
  6. package/catalog/limits.json +10 -1
  7. package/catalog/macros.json +542 -1
  8. package/catalog/recipes.json +4 -2
  9. package/catalog/strings.json +14 -2
  10. package/catalog/style.json +21 -0
  11. package/catalog/theme.schema.json +3950 -1337
  12. package/conformance/manifest.json +5 -5
  13. package/conformance/motion/build-corpus.ts +232 -0
  14. package/conformance/motion/corpus/SOURCES.md +117 -0
  15. package/conformance/motion/corpus/images/footage_0.json +1 -0
  16. package/conformance/motion/corpus/images/img_0.jpg +0 -0
  17. package/conformance/motion/corpus/images/img_1.jpg +0 -0
  18. package/conformance/motion/corpus/images/triangle.png +0 -0
  19. package/conformance/motion/corpus/skottie-3d-parenting-nocamera.json +367 -0
  20. package/conformance/motion/corpus/skottie-auto-orient-2.json +292 -0
  21. package/conformance/motion/corpus/skottie-auto-orient.json +717 -0
  22. package/conformance/motion/corpus/skottie-bezier-extranormal.json +199 -0
  23. package/conformance/motion/corpus/skottie-blendmode-hardmix.json +558 -0
  24. package/conformance/motion/corpus/skottie-chained-mattes.json +259 -0
  25. package/conformance/motion/corpus/skottie-dropshadow-ramp.json +852 -0
  26. package/conformance/motion/corpus/skottie-dropshadow-style.json +278 -0
  27. package/conformance/motion/corpus/skottie-effects-transform.json +385 -0
  28. package/conformance/motion/corpus/skottie-fill-effect.json +358 -0
  29. package/conformance/motion/corpus/skottie-fill-rule.json +457 -0
  30. package/conformance/motion/corpus/skottie-gaussian-blur.json +670 -0
  31. package/conformance/motion/corpus/skottie-gradient-opacity.json +451 -0
  32. package/conformance/motion/corpus/skottie-gradient-radial-highlight.json +581 -0
  33. package/conformance/motion/corpus/skottie-hidden-shapes-layers.json +381 -0
  34. package/conformance/motion/corpus/skottie-huesaturation-effect.json +1117 -0
  35. package/conformance/motion/corpus/skottie-invert-effect.json +665 -0
  36. package/conformance/motion/corpus/skottie-luma-matte.json +239 -0
  37. package/conformance/motion/corpus/skottie-mask-feather.json +892 -0
  38. package/conformance/motion/corpus/skottie-masking-opaque.json +2376 -0
  39. package/conformance/motion/corpus/skottie-masking-translucent.json +2376 -0
  40. package/conformance/motion/corpus/skottie-matte-blendmode.json +196 -0
  41. package/conformance/motion/corpus/skottie-matte-nonsequential.json +722 -0
  42. package/conformance/motion/corpus/skottie-matte-visible.json +666 -0
  43. package/conformance/motion/corpus/skottie-mergepaths-effect.json +722 -0
  44. package/conformance/motion/corpus/skottie-motion-blur-mask.json +120 -0
  45. package/conformance/motion/corpus/skottie-nested-animation.json +253 -0
  46. package/conformance/motion/corpus/skottie-offsetpaths-effect.json +525 -0
  47. package/conformance/motion/corpus/skottie-phonehub-connecting.json +947 -0
  48. package/conformance/motion/corpus/skottie-puckerbloat-effect.json +339 -0
  49. package/conformance/motion/corpus/skottie-repeater.json +234 -0
  50. package/conformance/motion/corpus/skottie-sample-1.json +168 -0
  51. package/conformance/motion/corpus/skottie-sample-search.json +329 -0
  52. package/conformance/motion/corpus/skottie-spatial-supernormal.json +898 -0
  53. package/conformance/motion/corpus/skottie-text-animator-1.json +1286 -0
  54. package/conformance/motion/corpus/skottie-text-fill-over-stroke.json +1014 -0
  55. package/conformance/motion/corpus/skottie-text-tracking.json +950 -0
  56. package/conformance/motion/corpus/skottie-text-valign.json +484 -0
  57. package/conformance/motion/corpus/skottie-time-reverse.json +297 -0
  58. package/conformance/motion/corpus/skottie-transform-skew.json +290 -0
  59. package/conformance/motion/corpus/skottie-trimpath-fill.json +933 -0
  60. package/conformance/motion/corpus/skottie-trimpath-modes.json +266 -0
  61. package/conformance/motion/corpus/skottie-tritone-effect.json +379 -0
  62. package/conformance/motion/corpus/spec-blend-mode.json +531 -0
  63. package/conformance/motion/corpus/spec-ellipse.json +142 -0
  64. package/conformance/motion/corpus/spec-fill.json +193 -0
  65. package/conformance/motion/corpus/spec-gradient-stroke.json +1263 -0
  66. package/conformance/motion/corpus/spec-gradient.json +1255 -0
  67. package/conformance/motion/corpus/spec-mask.json +773 -0
  68. package/conformance/motion/corpus/spec-masks.json +676 -0
  69. package/conformance/motion/corpus/spec-matte.json +390 -0
  70. package/conformance/motion/corpus/spec-metadata.json +1 -0
  71. package/conformance/motion/corpus/spec-path.json +177 -0
  72. package/conformance/motion/corpus/spec-pucker-bloat.json +179 -0
  73. package/conformance/motion/corpus/spec-rectangle.json +145 -0
  74. package/conformance/motion/corpus/spec-rounded-corners.json +187 -0
  75. package/conformance/motion/corpus/spec-slots.json +325 -0
  76. package/conformance/motion/corpus/spec-star.json +159 -0
  77. package/conformance/motion/corpus/spec-stroke.json +156 -0
  78. package/conformance/motion/corpus/spec-test-ellipse-xy-pos.json +141 -0
  79. package/conformance/motion/corpus/spec-test-gradient-fill.json +1 -0
  80. package/conformance/motion/corpus/spec-test-gradient-stroke.json +229 -0
  81. package/conformance/motion/corpus/spec-test-unknown-shape.json +63 -0
  82. package/conformance/motion/corpus/spec-time-remap.json +1090 -0
  83. package/conformance/motion/corpus/spec-time-stretch.json +594 -0
  84. package/conformance/motion/corpus/spec-transform.json +273 -0
  85. package/conformance/motion/corpus/spec-trim-path.json +209 -0
  86. package/conformance/motion/corpus/web-adrock.json +1 -0
  87. package/conformance/motion/corpus/web-bacon.json +1 -0
  88. package/conformance/motion/corpus/web-banner.json +1 -0
  89. package/conformance/motion/corpus/web-bodymovin.json +1 -0
  90. package/conformance/motion/corpus/web-dalek.json +1 -0
  91. package/conformance/motion/corpus/web-footage-data.json +1 -0
  92. package/conformance/motion/corpus/web-lights.json +1 -0
  93. package/conformance/motion/corpus/web-ripple.json +1 -0
  94. package/conformance/motion/corpus/web-starfish.json +1 -0
  95. package/conformance/motion/known-gaps.json +35 -0
  96. package/conformance/motion/parity/group-transforms-parenting@0.png +0 -0
  97. package/conformance/motion/parity/group-transforms-parenting@10.png +0 -0
  98. package/conformance/motion/parity/hidden-unknown-inactive@0.png +0 -0
  99. package/conformance/motion/parity/keyframes-transform@0.png +0 -0
  100. package/conformance/motion/parity/keyframes-transform@10.png +0 -0
  101. package/conformance/motion/parity/keyframes-transform@15.png +0 -0
  102. package/conformance/motion/parity/keyframes-transform@5.png +0 -0
  103. package/conformance/motion/parity/layer-opacity-blend@0.png +0 -0
  104. package/conformance/motion/parity/linear-gradient@0.png +0 -0
  105. package/conformance/motion/parity/masks-modes@0.png +0 -0
  106. package/conformance/motion/parity/matte-alpha@0.png +0 -0
  107. package/conformance/motion/parity/matte-luma@0.png +0 -0
  108. package/conformance/motion/parity/matte-parent-tp@0.png +0 -0
  109. package/conformance/motion/parity/path-evenodd@0.png +0 -0
  110. package/conformance/motion/parity/precomp-clip-offset@0.png +0 -0
  111. package/conformance/motion/parity/precomp-clip-offset@15.png +0 -0
  112. package/conformance/motion/parity/precomp-clip-offset@5.png +0 -0
  113. package/conformance/motion/parity/radial-gradient-highlight@0.png +0 -0
  114. package/conformance/motion/parity/rect-solid-fill@0.png +0 -0
  115. package/conformance/motion/parity/repeater@0.png +0 -0
  116. package/conformance/motion/parity/rounded-rect-ellipse@0.png +0 -0
  117. package/conformance/motion/parity/solid-and-image@0.png +0 -0
  118. package/conformance/motion/parity/split-position-skew@0.png +0 -0
  119. package/conformance/motion/parity/split-position-skew@10.png +0 -0
  120. package/conformance/motion/parity/star-polygon@0.png +0 -0
  121. package/conformance/motion/parity/stroke-caps-joins@0.png +0 -0
  122. package/conformance/motion/parity/stroke-dashes@0.png +0 -0
  123. package/conformance/motion/parity/stroke-dashes@10.png +0 -0
  124. package/conformance/motion/parity/time-remap@0.png +0 -0
  125. package/conformance/motion/parity/time-remap@10.png +0 -0
  126. package/conformance/motion/parity/time-remap@19.png +0 -0
  127. package/conformance/motion/parity/time-stretch@0.png +0 -0
  128. package/conformance/motion/parity/time-stretch@10.png +0 -0
  129. package/conformance/motion/parity/trim-individually@0.png +0 -0
  130. package/conformance/motion/parity/trim-path@0.png +0 -0
  131. package/conformance/motion/parity/trim-path@10.png +0 -0
  132. package/conformance/motion/refs/index.json +688 -0
  133. package/conformance/motion/refs/skottie-3d-parenting-nocamera@0.png +0 -0
  134. package/conformance/motion/refs/skottie-3d-parenting-nocamera@150.png +0 -0
  135. package/conformance/motion/refs/skottie-3d-parenting-nocamera@270.png +0 -0
  136. package/conformance/motion/refs/skottie-auto-orient-2@0.png +0 -0
  137. package/conformance/motion/refs/skottie-auto-orient-2@210.png +0 -0
  138. package/conformance/motion/refs/skottie-auto-orient-2@378.png +0 -0
  139. package/conformance/motion/refs/skottie-auto-orient@0.png +0 -0
  140. package/conformance/motion/refs/skottie-auto-orient@300.png +0 -0
  141. package/conformance/motion/refs/skottie-auto-orient@540.png +0 -0
  142. package/conformance/motion/refs/skottie-bezier-extranormal@0.png +0 -0
  143. package/conformance/motion/refs/skottie-bezier-extranormal@150.png +0 -0
  144. package/conformance/motion/refs/skottie-bezier-extranormal@270.png +0 -0
  145. package/conformance/motion/refs/skottie-blendmode-hardmix@0.png +0 -0
  146. package/conformance/motion/refs/skottie-blendmode-hardmix@150.png +0 -0
  147. package/conformance/motion/refs/skottie-blendmode-hardmix@270.png +0 -0
  148. package/conformance/motion/refs/skottie-chained-mattes@0.png +0 -0
  149. package/conformance/motion/refs/skottie-chained-mattes@300.png +0 -0
  150. package/conformance/motion/refs/skottie-chained-mattes@540.png +0 -0
  151. package/conformance/motion/refs/skottie-dropshadow-ramp@0.png +0 -0
  152. package/conformance/motion/refs/skottie-dropshadow-ramp@135.png +0 -0
  153. package/conformance/motion/refs/skottie-dropshadow-ramp@75.png +0 -0
  154. package/conformance/motion/refs/skottie-dropshadow-style@0.png +0 -0
  155. package/conformance/motion/refs/skottie-dropshadow-style@300.png +0 -0
  156. package/conformance/motion/refs/skottie-dropshadow-style@540.png +0 -0
  157. package/conformance/motion/refs/skottie-effects-transform@0.png +0 -0
  158. package/conformance/motion/refs/skottie-effects-transform@450.png +0 -0
  159. package/conformance/motion/refs/skottie-effects-transform@810.png +0 -0
  160. package/conformance/motion/refs/skottie-fill-effect@0.png +0 -0
  161. package/conformance/motion/refs/skottie-fill-effect@300.png +0 -0
  162. package/conformance/motion/refs/skottie-fill-effect@540.png +0 -0
  163. package/conformance/motion/refs/skottie-fill-rule@0.png +0 -0
  164. package/conformance/motion/refs/skottie-fill-rule@150.png +0 -0
  165. package/conformance/motion/refs/skottie-fill-rule@270.png +0 -0
  166. package/conformance/motion/refs/skottie-gaussian-blur@0.png +0 -0
  167. package/conformance/motion/refs/skottie-gaussian-blur@150.png +0 -0
  168. package/conformance/motion/refs/skottie-gaussian-blur@270.png +0 -0
  169. package/conformance/motion/refs/skottie-gradient-opacity@0.png +0 -0
  170. package/conformance/motion/refs/skottie-gradient-opacity@150.png +0 -0
  171. package/conformance/motion/refs/skottie-gradient-opacity@270.png +0 -0
  172. package/conformance/motion/refs/skottie-gradient-radial-highlight@0.png +0 -0
  173. package/conformance/motion/refs/skottie-gradient-radial-highlight@135.png +0 -0
  174. package/conformance/motion/refs/skottie-gradient-radial-highlight@75.png +0 -0
  175. package/conformance/motion/refs/skottie-hidden-shapes-layers@0.png +0 -0
  176. package/conformance/motion/refs/skottie-hidden-shapes-layers@150.png +0 -0
  177. package/conformance/motion/refs/skottie-hidden-shapes-layers@270.png +0 -0
  178. package/conformance/motion/refs/skottie-huesaturation-effect@0.png +0 -0
  179. package/conformance/motion/refs/skottie-huesaturation-effect@30.png +0 -0
  180. package/conformance/motion/refs/skottie-huesaturation-effect@54.png +0 -0
  181. package/conformance/motion/refs/skottie-invert-effect@0.png +0 -0
  182. package/conformance/motion/refs/skottie-invert-effect@300.png +0 -0
  183. package/conformance/motion/refs/skottie-invert-effect@540.png +0 -0
  184. package/conformance/motion/refs/skottie-luma-matte@0.png +0 -0
  185. package/conformance/motion/refs/skottie-luma-matte@150.png +0 -0
  186. package/conformance/motion/refs/skottie-luma-matte@270.png +0 -0
  187. package/conformance/motion/refs/skottie-mask-feather@0.png +0 -0
  188. package/conformance/motion/refs/skottie-mask-feather@150.png +0 -0
  189. package/conformance/motion/refs/skottie-mask-feather@270.png +0 -0
  190. package/conformance/motion/refs/skottie-masking-opaque@0.png +0 -0
  191. package/conformance/motion/refs/skottie-masking-opaque@135.png +0 -0
  192. package/conformance/motion/refs/skottie-masking-opaque@75.png +0 -0
  193. package/conformance/motion/refs/skottie-masking-translucent@0.png +0 -0
  194. package/conformance/motion/refs/skottie-masking-translucent@135.png +0 -0
  195. package/conformance/motion/refs/skottie-masking-translucent@75.png +0 -0
  196. package/conformance/motion/refs/skottie-matte-blendmode@0.png +0 -0
  197. package/conformance/motion/refs/skottie-matte-blendmode@150.png +0 -0
  198. package/conformance/motion/refs/skottie-matte-blendmode@270.png +0 -0
  199. package/conformance/motion/refs/skottie-matte-nonsequential@0.png +0 -0
  200. package/conformance/motion/refs/skottie-matte-nonsequential@150.png +0 -0
  201. package/conformance/motion/refs/skottie-matte-nonsequential@270.png +0 -0
  202. package/conformance/motion/refs/skottie-matte-visible@0.png +0 -0
  203. package/conformance/motion/refs/skottie-matte-visible@150.png +0 -0
  204. package/conformance/motion/refs/skottie-matte-visible@270.png +0 -0
  205. package/conformance/motion/refs/skottie-mergepaths-effect@0.png +0 -0
  206. package/conformance/motion/refs/skottie-mergepaths-effect@210.png +0 -0
  207. package/conformance/motion/refs/skottie-mergepaths-effect@378.png +0 -0
  208. package/conformance/motion/refs/skottie-motion-blur-mask@0.png +0 -0
  209. package/conformance/motion/refs/skottie-motion-blur-mask@150.png +0 -0
  210. package/conformance/motion/refs/skottie-motion-blur-mask@270.png +0 -0
  211. package/conformance/motion/refs/skottie-nested-animation@0.png +0 -0
  212. package/conformance/motion/refs/skottie-nested-animation@300.png +0 -0
  213. package/conformance/motion/refs/skottie-nested-animation@540.png +0 -0
  214. package/conformance/motion/refs/skottie-offsetpaths-effect@0.png +0 -0
  215. package/conformance/motion/refs/skottie-offsetpaths-effect@150.png +0 -0
  216. package/conformance/motion/refs/skottie-offsetpaths-effect@270.png +0 -0
  217. package/conformance/motion/refs/skottie-phonehub-connecting@0.png +0 -0
  218. package/conformance/motion/refs/skottie-puckerbloat-effect@0.png +0 -0
  219. package/conformance/motion/refs/skottie-puckerbloat-effect@210.png +0 -0
  220. package/conformance/motion/refs/skottie-puckerbloat-effect@378.png +0 -0
  221. package/conformance/motion/refs/skottie-repeater@0.png +0 -0
  222. package/conformance/motion/refs/skottie-repeater@300.png +0 -0
  223. package/conformance/motion/refs/skottie-repeater@540.png +0 -0
  224. package/conformance/motion/refs/skottie-sample-1@0.png +0 -0
  225. package/conformance/motion/refs/skottie-sample-1@100.png +0 -0
  226. package/conformance/motion/refs/skottie-sample-1@180.png +0 -0
  227. package/conformance/motion/refs/skottie-sample-search@0.png +0 -0
  228. package/conformance/motion/refs/skottie-sample-search@27.png +0 -0
  229. package/conformance/motion/refs/skottie-sample-search@48.png +0 -0
  230. package/conformance/motion/refs/skottie-spatial-supernormal@0.png +0 -0
  231. package/conformance/motion/refs/skottie-spatial-supernormal@200.png +0 -0
  232. package/conformance/motion/refs/skottie-spatial-supernormal@360.png +0 -0
  233. package/conformance/motion/refs/skottie-text-animator-1@0.png +0 -0
  234. package/conformance/motion/refs/skottie-text-animator-1@150.png +0 -0
  235. package/conformance/motion/refs/skottie-text-animator-1@270.png +0 -0
  236. package/conformance/motion/refs/skottie-text-fill-over-stroke@0.png +0 -0
  237. package/conformance/motion/refs/skottie-text-fill-over-stroke@210.png +0 -0
  238. package/conformance/motion/refs/skottie-text-fill-over-stroke@378.png +0 -0
  239. package/conformance/motion/refs/skottie-text-tracking@0.png +0 -0
  240. package/conformance/motion/refs/skottie-text-tracking@108.png +0 -0
  241. package/conformance/motion/refs/skottie-text-tracking@60.png +0 -0
  242. package/conformance/motion/refs/skottie-text-valign@0.png +0 -0
  243. package/conformance/motion/refs/skottie-text-valign@150.png +0 -0
  244. package/conformance/motion/refs/skottie-text-valign@270.png +0 -0
  245. package/conformance/motion/refs/skottie-time-reverse@0.png +0 -0
  246. package/conformance/motion/refs/skottie-time-reverse@300.png +0 -0
  247. package/conformance/motion/refs/skottie-time-reverse@540.png +0 -0
  248. package/conformance/motion/refs/skottie-transform-skew@0.png +0 -0
  249. package/conformance/motion/refs/skottie-transform-skew@300.png +0 -0
  250. package/conformance/motion/refs/skottie-transform-skew@540.png +0 -0
  251. package/conformance/motion/refs/skottie-trimpath-fill@0.png +0 -0
  252. package/conformance/motion/refs/skottie-trimpath-fill@300.png +0 -0
  253. package/conformance/motion/refs/skottie-trimpath-fill@540.png +0 -0
  254. package/conformance/motion/refs/skottie-trimpath-modes@0.png +0 -0
  255. package/conformance/motion/refs/skottie-trimpath-modes@300.png +0 -0
  256. package/conformance/motion/refs/skottie-trimpath-modes@540.png +0 -0
  257. package/conformance/motion/refs/skottie-tritone-effect@0.png +0 -0
  258. package/conformance/motion/refs/skottie-tritone-effect@300.png +0 -0
  259. package/conformance/motion/refs/skottie-tritone-effect@540.png +0 -0
  260. package/conformance/motion/refs/spec-blend-mode@0.png +0 -0
  261. package/conformance/motion/refs/spec-blend-mode@162.png +0 -0
  262. package/conformance/motion/refs/spec-blend-mode@90.png +0 -0
  263. package/conformance/motion/refs/spec-ellipse@0.png +0 -0
  264. package/conformance/motion/refs/spec-ellipse@162.png +0 -0
  265. package/conformance/motion/refs/spec-ellipse@90.png +0 -0
  266. package/conformance/motion/refs/spec-fill@0.png +0 -0
  267. package/conformance/motion/refs/spec-fill@162.png +0 -0
  268. package/conformance/motion/refs/spec-fill@90.png +0 -0
  269. package/conformance/motion/refs/spec-gradient-stroke@0.png +0 -0
  270. package/conformance/motion/refs/spec-gradient-stroke@162.png +0 -0
  271. package/conformance/motion/refs/spec-gradient-stroke@90.png +0 -0
  272. package/conformance/motion/refs/spec-gradient@0.png +0 -0
  273. package/conformance/motion/refs/spec-gradient@162.png +0 -0
  274. package/conformance/motion/refs/spec-gradient@90.png +0 -0
  275. package/conformance/motion/refs/spec-mask@0.png +0 -0
  276. package/conformance/motion/refs/spec-mask@300.png +0 -0
  277. package/conformance/motion/refs/spec-mask@540.png +0 -0
  278. package/conformance/motion/refs/spec-masks@0.png +0 -0
  279. package/conformance/motion/refs/spec-masks@135.png +0 -0
  280. package/conformance/motion/refs/spec-masks@75.png +0 -0
  281. package/conformance/motion/refs/spec-matte@0.png +0 -0
  282. package/conformance/motion/refs/spec-matte@162.png +0 -0
  283. package/conformance/motion/refs/spec-matte@90.png +0 -0
  284. package/conformance/motion/refs/spec-metadata@0.png +0 -0
  285. package/conformance/motion/refs/spec-metadata@162.png +0 -0
  286. package/conformance/motion/refs/spec-metadata@90.png +0 -0
  287. package/conformance/motion/refs/spec-path@0.png +0 -0
  288. package/conformance/motion/refs/spec-path@162.png +0 -0
  289. package/conformance/motion/refs/spec-path@90.png +0 -0
  290. package/conformance/motion/refs/spec-pucker-bloat@0.png +0 -0
  291. package/conformance/motion/refs/spec-pucker-bloat@162.png +0 -0
  292. package/conformance/motion/refs/spec-pucker-bloat@90.png +0 -0
  293. package/conformance/motion/refs/spec-rectangle@0.png +0 -0
  294. package/conformance/motion/refs/spec-rectangle@162.png +0 -0
  295. package/conformance/motion/refs/spec-rectangle@90.png +0 -0
  296. package/conformance/motion/refs/spec-rounded-corners@0.png +0 -0
  297. package/conformance/motion/refs/spec-rounded-corners@162.png +0 -0
  298. package/conformance/motion/refs/spec-rounded-corners@90.png +0 -0
  299. package/conformance/motion/refs/spec-slots@0.png +0 -0
  300. package/conformance/motion/refs/spec-slots@450.png +0 -0
  301. package/conformance/motion/refs/spec-slots@810.png +0 -0
  302. package/conformance/motion/refs/spec-star@0.png +0 -0
  303. package/conformance/motion/refs/spec-star@162.png +0 -0
  304. package/conformance/motion/refs/spec-star@90.png +0 -0
  305. package/conformance/motion/refs/spec-stroke@0.png +0 -0
  306. package/conformance/motion/refs/spec-stroke@162.png +0 -0
  307. package/conformance/motion/refs/spec-stroke@90.png +0 -0
  308. package/conformance/motion/refs/spec-test-ellipse-xy-pos@0.png +0 -0
  309. package/conformance/motion/refs/spec-test-ellipse-xy-pos@162.png +0 -0
  310. package/conformance/motion/refs/spec-test-ellipse-xy-pos@90.png +0 -0
  311. package/conformance/motion/refs/spec-test-gradient-fill@0.png +0 -0
  312. package/conformance/motion/refs/spec-test-gradient-fill@30.png +0 -0
  313. package/conformance/motion/refs/spec-test-gradient-fill@54.png +0 -0
  314. package/conformance/motion/refs/spec-test-gradient-stroke@0.png +0 -0
  315. package/conformance/motion/refs/spec-test-gradient-stroke@30.png +0 -0
  316. package/conformance/motion/refs/spec-test-gradient-stroke@54.png +0 -0
  317. package/conformance/motion/refs/spec-test-unknown-shape@0.png +0 -0
  318. package/conformance/motion/refs/spec-test-unknown-shape@162.png +0 -0
  319. package/conformance/motion/refs/spec-test-unknown-shape@90.png +0 -0
  320. package/conformance/motion/refs/spec-time-remap@0.png +0 -0
  321. package/conformance/motion/refs/spec-time-remap@300.png +0 -0
  322. package/conformance/motion/refs/spec-time-remap@540.png +0 -0
  323. package/conformance/motion/refs/spec-time-stretch@0.png +0 -0
  324. package/conformance/motion/refs/spec-time-stretch@300.png +0 -0
  325. package/conformance/motion/refs/spec-time-stretch@540.png +0 -0
  326. package/conformance/motion/refs/spec-transform@0.png +0 -0
  327. package/conformance/motion/refs/spec-transform@162.png +0 -0
  328. package/conformance/motion/refs/spec-transform@90.png +0 -0
  329. package/conformance/motion/refs/spec-trim-path@0.png +0 -0
  330. package/conformance/motion/refs/spec-trim-path@162.png +0 -0
  331. package/conformance/motion/refs/spec-trim-path@90.png +0 -0
  332. package/conformance/motion/refs/web-adrock@0.png +0 -0
  333. package/conformance/motion/refs/web-adrock@10.png +0 -0
  334. package/conformance/motion/refs/web-adrock@18.png +0 -0
  335. package/conformance/motion/refs/web-bacon@0.png +0 -0
  336. package/conformance/motion/refs/web-bacon@126.png +0 -0
  337. package/conformance/motion/refs/web-bacon@70.png +0 -0
  338. package/conformance/motion/refs/web-banner@0.png +0 -0
  339. package/conformance/motion/refs/web-banner@301.png +0 -0
  340. package/conformance/motion/refs/web-banner@542.png +0 -0
  341. package/conformance/motion/refs/web-bodymovin@0.png +0 -0
  342. package/conformance/motion/refs/web-bodymovin@51.png +0 -0
  343. package/conformance/motion/refs/web-bodymovin@92.png +0 -0
  344. package/conformance/motion/refs/web-dalek@0.png +0 -0
  345. package/conformance/motion/refs/web-dalek@145.png +0 -0
  346. package/conformance/motion/refs/web-dalek@261.png +0 -0
  347. package/conformance/motion/refs/web-footage-data@0.png +0 -0
  348. package/conformance/motion/refs/web-footage-data@180.png +0 -0
  349. package/conformance/motion/refs/web-footage-data@324.png +0 -0
  350. package/conformance/motion/refs/web-lights@0.png +0 -0
  351. package/conformance/motion/refs/web-lights@150.png +0 -0
  352. package/conformance/motion/refs/web-lights@270.png +0 -0
  353. package/conformance/motion/refs/web-ripple@0.png +0 -0
  354. package/conformance/motion/refs/web-ripple@180.png +0 -0
  355. package/conformance/motion/refs/web-ripple@324.png +0 -0
  356. package/conformance/motion/refs/web-starfish@0.png +0 -0
  357. package/conformance/motion/refs/web-starfish@150.png +0 -0
  358. package/conformance/motion/refs/web-starfish@270.png +0 -0
  359. package/conformance/motion/render-refs.ts +126 -0
  360. package/conformance/motion/report.json +1367 -0
  361. package/conformance/motion/web-parity-gaps.json +12 -0
  362. package/conformance/motion-parity-entry.ts +3 -0
  363. package/conformance/motion-parity.ts +101 -0
  364. package/dist/chunks/{index-gtk2gwsb.js → index-4xczxey5.js} +187 -40
  365. package/dist/chunks/{index-gtk2gwsb.js.map → index-4xczxey5.js.map} +7 -6
  366. package/dist/chunks/{index-62yzr94z.js → index-5sjj5p84.js} +270 -8
  367. package/dist/chunks/{index-62yzr94z.js.map → index-5sjj5p84.js.map} +2 -2
  368. package/dist/chunks/{index-fy7y2nz8.js → index-cvf7bbs5.js} +23 -2
  369. package/dist/chunks/{index-fy7y2nz8.js.map → index-cvf7bbs5.js.map} +1 -1
  370. package/dist/chunks/index-dgkf6yw5.js +48 -0
  371. package/dist/chunks/index-dgkf6yw5.js.map +10 -0
  372. package/dist/chunks/{index-5fmaa0xq.js → index-f9wkb6aq.js} +851 -36
  373. package/dist/chunks/{index-5fmaa0xq.js.map → index-f9wkb6aq.js.map} +2 -2
  374. package/dist/chunks/index-t2mwfbb6.js +1515 -0
  375. package/dist/chunks/index-t2mwfbb6.js.map +15 -0
  376. package/dist/chunks/{index-bg2jsgjq.js → index-vkn82srs.js} +479 -10
  377. package/dist/chunks/{index-bg2jsgjq.js.map → index-vkn82srs.js.map} +2 -2
  378. package/dist/chunks/wasm-ctcc3cma.js +424 -0
  379. package/dist/chunks/wasm-ctcc3cma.js.map +11 -0
  380. package/dist/conformance.js +10941 -563
  381. package/dist/conformance.js.map +2 -2
  382. package/dist/entries/prompt.js +2 -2
  383. package/dist/entries/schema.js +3 -3
  384. package/dist/host/index.js +20 -4
  385. package/dist/host/index.js.map +1 -1
  386. package/dist/index.js +364 -99
  387. package/dist/index.js.map +4 -4
  388. package/dist/types/src/catalog.generated.d.ts +71 -5
  389. package/dist/types/src/host/contract.d.ts +17 -0
  390. package/dist/types/src/host/exposes.d.ts +68 -0
  391. package/dist/types/src/host/index.d.ts +1 -0
  392. package/dist/types/src/host/package.d.ts +8 -0
  393. package/dist/types/src/index.d.ts +2 -0
  394. package/dist/types/src/layout.d.ts +2 -0
  395. package/dist/types/src/limits.d.ts +1 -0
  396. package/dist/types/src/motion/index.d.ts +1 -0
  397. package/dist/types/src/motion/server.d.ts +9 -0
  398. package/dist/types/src/motion/wasm.d.ts +11 -0
  399. package/dist/types/src/web/coerce.d.ts +3 -0
  400. package/dist/types/src/web/focus.d.ts +8 -0
  401. package/dist/types/src/web/index.d.ts +5 -2
  402. package/dist/types/src/web/primitives/carousel.d.ts +17 -0
  403. package/dist/types/src/web/primitives/dock.d.ts +5 -2
  404. package/dist/types/src/web/primitives/index.d.ts +5 -0
  405. package/dist/types/src/web/primitives/mosaic.d.ts +30 -0
  406. package/dist/types/src/web/primitives/motion-paint.d.ts +36 -0
  407. package/dist/types/src/web/primitives/motion.d.ts +162 -0
  408. package/dist/types/src/web/primitives/outline.d.ts +22 -0
  409. package/dist/types/src/web/primitives/zoomable-image.d.ts +158 -0
  410. package/dist/types/src/web/table.d.ts +8 -0
  411. package/dist/types/src/zoom.d.ts +128 -0
  412. package/dist/types/wasm/motion/bytes.d.ts +1 -0
  413. package/dist/web/index.js +171 -230
  414. package/dist/web/index.js.map +9 -10
  415. package/dist/web/primitives/index.js +641 -6
  416. package/dist/web/primitives/index.js.map +9 -5
  417. package/docs/components.generated.json +542 -5
  418. package/docs/package-format.md +56 -1
  419. package/docs/round-6-contract.md +110 -0
  420. package/docs/themes.generated.json +66 -2
  421. package/fixtures/bind-time.json +1468 -0
  422. package/fixtures/catalog-components.json +1026 -16
  423. package/fixtures/catalog-macros.json +1279 -157
  424. package/fixtures/conformance-baseline.json +48893 -47200
  425. package/fixtures/conformance-known.json +140 -134
  426. package/fixtures/host-router.json +539 -1
  427. package/fixtures/kitchen-sink.expanded.json +686 -1
  428. package/fixtures/kitchen-sink.json +102 -1
  429. package/fixtures/layout-geometry-round1.json +42 -42
  430. package/fixtures/motion-frames.json +2618 -0
  431. package/fixtures/motion-playback.json +528 -0
  432. package/fixtures/motion-state.json +722 -0
  433. package/fixtures/motion-validate.json +138 -0
  434. package/fixtures/primitive-specimens.json +4 -0
  435. package/fixtures/prompt-budget.json +16 -16
  436. package/fixtures/specimens.json +839 -21
  437. package/fixtures/theme-recipes.json +32808 -28396
  438. package/fixtures/theme-resolved.json +2114 -286
  439. package/fixtures/zoom.json +1382 -0
  440. package/generated/ExponentialUICatalog.generated.kt +21 -21
  441. package/generated/ExponentialUICatalog.generated.swift +21 -21
  442. package/generated/ExponentialUIThemes.generated.kt +7 -7
  443. package/generated/ExponentialUIThemes.generated.swift +7 -7
  444. package/generated/catalog.descriptions.generated.rs +1 -1
  445. package/generated/catalog.generated.rs +30 -30
  446. package/generated/catalog.themes.generated.rs +8 -8
  447. package/generated/core.descriptions.json +267 -5
  448. package/generated/core.runtime.json +275 -1
  449. package/package.json +1 -1
  450. package/themes/neutral.theme.json +460 -3
  451. package/dist/chunks/index-t6qz1770.js +0 -95
  452. package/dist/chunks/index-t6qz1770.js.map +0 -11
@@ -0,0 +1,722 @@
1
+ {
2
+ "$comment": "EXP-1605: dotLottie state machines in eUI Motion (apps/desktop/crates/eui-motion/src/state_machine.rs), the ONE interpreter every renderer uses. A case = a machine (the dotLottie 2 JSON a Motion's `stateMachine` prop or a .lottie `s/` file carries) + steps; each step: `post` an interaction (click|pointerDown|pointerUp|pointerEnter|pointerExit|complete|loopComplete, `layer` = the hit layer) and/or `set` inputs (a bound eUI `inputs` value) and/or `complete` (the state's playback finished: its guard-less transition), then the expected `state`, the states `entered` since the previous step (hosts send each as the Motion's `on.state` action, context {state}), `final`, the state's playback `range` [from, to) in frames and `autoplay` on the timeline 30 fps / ip 0 / op 30 with markers low = 0..10 and high = 10..30, and the `inputs` after the step. Replayed by eui-motion tests/state_machine.rs (UPDATE_MOTION_FIXTURES=1 rewrites), over WASM (TS) and uniffi (Swift, Kotlin).",
3
+ "lottie": {
4
+ "v": "5.12.0",
5
+ "fr": 30,
6
+ "ip": 0,
7
+ "op": 30,
8
+ "w": 10,
9
+ "h": 10,
10
+ "layers": [],
11
+ "markers": [
12
+ {
13
+ "cm": "low",
14
+ "tm": 0,
15
+ "dr": 10
16
+ },
17
+ {
18
+ "cm": "high",
19
+ "tm": 10,
20
+ "dr": 20
21
+ }
22
+ ]
23
+ },
24
+ "cases": [
25
+ {
26
+ "id": "toggle-on-click",
27
+ "covers": "a button that plays `on` / `off` segments, toggled by clicks",
28
+ "machine": {
29
+ "initial": "off",
30
+ "inputs": [
31
+ {
32
+ "type": "Boolean",
33
+ "name": "on",
34
+ "value": false
35
+ }
36
+ ],
37
+ "interactions": [
38
+ {
39
+ "type": "Click",
40
+ "actions": [
41
+ {
42
+ "type": "Toggle",
43
+ "inputName": "on"
44
+ }
45
+ ]
46
+ }
47
+ ],
48
+ "states": [
49
+ {
50
+ "name": "off",
51
+ "type": "PlaybackState",
52
+ "segment": [
53
+ 0,
54
+ 10
55
+ ],
56
+ "loop": false,
57
+ "autoplay": true,
58
+ "transitions": [
59
+ {
60
+ "type": "Transition",
61
+ "toState": "on",
62
+ "guards": [
63
+ {
64
+ "type": "Boolean",
65
+ "inputName": "on",
66
+ "conditionType": "Equal",
67
+ "compareTo": true
68
+ }
69
+ ]
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "name": "on",
75
+ "type": "PlaybackState",
76
+ "segment": [
77
+ 10,
78
+ 20
79
+ ],
80
+ "loop": false,
81
+ "autoplay": true,
82
+ "transitions": [
83
+ {
84
+ "type": "Transition",
85
+ "toState": "off",
86
+ "guards": [
87
+ {
88
+ "type": "Boolean",
89
+ "inputName": "on",
90
+ "conditionType": "Equal",
91
+ "compareTo": false
92
+ }
93
+ ]
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+ },
99
+ "initial": {
100
+ "state": "off",
101
+ "entered": [
102
+ "off"
103
+ ],
104
+ "final": false,
105
+ "range": [
106
+ 0.0,
107
+ 10.0
108
+ ],
109
+ "autoplay": true,
110
+ "inputs": {
111
+ "on": false
112
+ }
113
+ },
114
+ "steps": [
115
+ {
116
+ "state": "on",
117
+ "entered": [
118
+ "on"
119
+ ],
120
+ "final": false,
121
+ "range": [
122
+ 10.0,
123
+ 20.0
124
+ ],
125
+ "autoplay": true,
126
+ "inputs": {
127
+ "on": true
128
+ },
129
+ "step": {
130
+ "post": "click"
131
+ }
132
+ },
133
+ {
134
+ "state": "off",
135
+ "entered": [
136
+ "off"
137
+ ],
138
+ "final": false,
139
+ "range": [
140
+ 0.0,
141
+ 10.0
142
+ ],
143
+ "autoplay": true,
144
+ "inputs": {
145
+ "on": false
146
+ },
147
+ "step": {
148
+ "post": "click"
149
+ }
150
+ },
151
+ {
152
+ "state": "off",
153
+ "entered": [],
154
+ "final": false,
155
+ "range": [
156
+ 0.0,
157
+ 10.0
158
+ ],
159
+ "autoplay": true,
160
+ "inputs": {
161
+ "on": false
162
+ },
163
+ "step": {
164
+ "post": "pointerEnter"
165
+ }
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "id": "hover-in-out",
171
+ "covers": "hover plays `in`, leaving plays `out`, then idles",
172
+ "machine": {
173
+ "initial": "idle",
174
+ "inputs": [
175
+ {
176
+ "type": "Event",
177
+ "name": "enter"
178
+ },
179
+ {
180
+ "type": "Event",
181
+ "name": "leave"
182
+ }
183
+ ],
184
+ "interactions": [
185
+ {
186
+ "type": "PointerEnter",
187
+ "actions": [
188
+ {
189
+ "type": "Fire",
190
+ "inputName": "enter"
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "type": "PointerExit",
196
+ "actions": [
197
+ {
198
+ "type": "Fire",
199
+ "inputName": "leave"
200
+ }
201
+ ]
202
+ }
203
+ ],
204
+ "states": [
205
+ {
206
+ "name": "idle",
207
+ "type": "PlaybackState",
208
+ "segment": [
209
+ 0,
210
+ 1
211
+ ],
212
+ "autoplay": false,
213
+ "transitions": [
214
+ {
215
+ "type": "Transition",
216
+ "toState": "in",
217
+ "guards": [
218
+ {
219
+ "type": "Event",
220
+ "inputName": "enter"
221
+ }
222
+ ]
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "name": "in",
228
+ "type": "PlaybackState",
229
+ "segment": [
230
+ 0,
231
+ 15
232
+ ],
233
+ "loop": false,
234
+ "autoplay": true,
235
+ "transitions": [
236
+ {
237
+ "type": "Transition",
238
+ "toState": "out",
239
+ "guards": [
240
+ {
241
+ "type": "Event",
242
+ "inputName": "leave"
243
+ }
244
+ ]
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "name": "out",
250
+ "type": "PlaybackState",
251
+ "segment": [
252
+ 15,
253
+ 30
254
+ ],
255
+ "loop": false,
256
+ "autoplay": true,
257
+ "transitions": [
258
+ {
259
+ "type": "Transition",
260
+ "toState": "idle"
261
+ }
262
+ ]
263
+ }
264
+ ]
265
+ },
266
+ "initial": {
267
+ "state": "idle",
268
+ "entered": [
269
+ "idle"
270
+ ],
271
+ "final": false,
272
+ "range": [
273
+ 0.0,
274
+ 1.0
275
+ ],
276
+ "autoplay": false,
277
+ "inputs": {}
278
+ },
279
+ "steps": [
280
+ {
281
+ "state": "in",
282
+ "entered": [
283
+ "in"
284
+ ],
285
+ "final": false,
286
+ "range": [
287
+ 0.0,
288
+ 15.0
289
+ ],
290
+ "autoplay": true,
291
+ "inputs": {},
292
+ "step": {
293
+ "post": "pointerEnter"
294
+ }
295
+ },
296
+ {
297
+ "state": "out",
298
+ "entered": [
299
+ "out"
300
+ ],
301
+ "final": false,
302
+ "range": [
303
+ 15.0,
304
+ 30.0
305
+ ],
306
+ "autoplay": true,
307
+ "inputs": {},
308
+ "step": {
309
+ "post": "pointerExit"
310
+ }
311
+ },
312
+ {
313
+ "state": "idle",
314
+ "entered": [
315
+ "idle"
316
+ ],
317
+ "final": false,
318
+ "range": [
319
+ 0.0,
320
+ 1.0
321
+ ],
322
+ "autoplay": false,
323
+ "inputs": {},
324
+ "step": {
325
+ "complete": true
326
+ }
327
+ },
328
+ {
329
+ "state": "idle",
330
+ "entered": [],
331
+ "final": false,
332
+ "range": [
333
+ 0.0,
334
+ 1.0
335
+ ],
336
+ "autoplay": false,
337
+ "inputs": {},
338
+ "step": {
339
+ "post": "pointerExit"
340
+ }
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "id": "progress-thresholds",
346
+ "covers": "a bound numeric input picks a state by threshold (eUI `inputs` binding)",
347
+ "machine": {
348
+ "initial": "low",
349
+ "inputs": [
350
+ {
351
+ "type": "Numeric",
352
+ "name": "level",
353
+ "value": 0
354
+ }
355
+ ],
356
+ "states": [
357
+ {
358
+ "name": "low",
359
+ "type": "PlaybackState",
360
+ "marker": "low",
361
+ "transitions": [
362
+ {
363
+ "type": "Transition",
364
+ "toState": "high",
365
+ "guards": [
366
+ {
367
+ "type": "Numeric",
368
+ "inputName": "level",
369
+ "conditionType": "GreaterThanOrEqual",
370
+ "compareTo": 50
371
+ }
372
+ ]
373
+ }
374
+ ]
375
+ },
376
+ {
377
+ "name": "high",
378
+ "type": "PlaybackState",
379
+ "marker": "high",
380
+ "transitions": [
381
+ {
382
+ "type": "Transition",
383
+ "toState": "done",
384
+ "guards": [
385
+ {
386
+ "type": "Numeric",
387
+ "inputName": "level",
388
+ "conditionType": "Equal",
389
+ "compareTo": 100
390
+ }
391
+ ]
392
+ },
393
+ {
394
+ "type": "Transition",
395
+ "toState": "low",
396
+ "guards": [
397
+ {
398
+ "type": "Numeric",
399
+ "inputName": "level",
400
+ "conditionType": "LessThan",
401
+ "compareTo": 50
402
+ }
403
+ ]
404
+ }
405
+ ]
406
+ },
407
+ {
408
+ "name": "done",
409
+ "type": "PlaybackState",
410
+ "segment": [
411
+ 29,
412
+ 30
413
+ ],
414
+ "final": true,
415
+ "transitions": [
416
+ {
417
+ "type": "Transition",
418
+ "toState": "low",
419
+ "guards": [
420
+ {
421
+ "type": "Numeric",
422
+ "inputName": "level",
423
+ "conditionType": "LessThan",
424
+ "compareTo": 50
425
+ }
426
+ ]
427
+ }
428
+ ]
429
+ }
430
+ ]
431
+ },
432
+ "initial": {
433
+ "state": "low",
434
+ "entered": [
435
+ "low"
436
+ ],
437
+ "final": false,
438
+ "range": [
439
+ 0.0,
440
+ 10.0
441
+ ],
442
+ "autoplay": true,
443
+ "inputs": {
444
+ "level": 0.0
445
+ }
446
+ },
447
+ "steps": [
448
+ {
449
+ "state": "low",
450
+ "entered": [],
451
+ "final": false,
452
+ "range": [
453
+ 0.0,
454
+ 10.0
455
+ ],
456
+ "autoplay": true,
457
+ "inputs": {
458
+ "level": 30.0
459
+ },
460
+ "step": {
461
+ "set": {
462
+ "level": 30
463
+ }
464
+ }
465
+ },
466
+ {
467
+ "state": "high",
468
+ "entered": [
469
+ "high"
470
+ ],
471
+ "final": false,
472
+ "range": [
473
+ 10.0,
474
+ 30.0
475
+ ],
476
+ "autoplay": true,
477
+ "inputs": {
478
+ "level": 60.0
479
+ },
480
+ "step": {
481
+ "set": {
482
+ "level": 60
483
+ }
484
+ }
485
+ },
486
+ {
487
+ "state": "low",
488
+ "entered": [
489
+ "low"
490
+ ],
491
+ "final": false,
492
+ "range": [
493
+ 0.0,
494
+ 10.0
495
+ ],
496
+ "autoplay": true,
497
+ "inputs": {
498
+ "level": 10.0
499
+ },
500
+ "step": {
501
+ "set": {
502
+ "level": 10
503
+ }
504
+ }
505
+ },
506
+ {
507
+ "state": "high",
508
+ "entered": [
509
+ "high"
510
+ ],
511
+ "final": false,
512
+ "range": [
513
+ 10.0,
514
+ 30.0
515
+ ],
516
+ "autoplay": true,
517
+ "inputs": {
518
+ "level": 60.0
519
+ },
520
+ "step": {
521
+ "set": {
522
+ "level": 60
523
+ }
524
+ }
525
+ },
526
+ {
527
+ "state": "done",
528
+ "entered": [
529
+ "done"
530
+ ],
531
+ "final": true,
532
+ "range": [
533
+ 29.0,
534
+ 30.0
535
+ ],
536
+ "autoplay": true,
537
+ "inputs": {
538
+ "level": 100.0
539
+ },
540
+ "step": {
541
+ "set": {
542
+ "level": 100
543
+ }
544
+ }
545
+ },
546
+ {
547
+ "state": "done",
548
+ "entered": [],
549
+ "final": true,
550
+ "range": [
551
+ 29.0,
552
+ 30.0
553
+ ],
554
+ "autoplay": true,
555
+ "inputs": {
556
+ "level": 0.0
557
+ },
558
+ "step": {
559
+ "set": {
560
+ "level": 0
561
+ }
562
+ }
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ "id": "counter-actions",
568
+ "covers": "clicks increment a counter; three clicks reach `burst`; a layer-scoped interaction ignores other layers",
569
+ "machine": {
570
+ "initial": "rest",
571
+ "inputs": [
572
+ {
573
+ "type": "Numeric",
574
+ "name": "n",
575
+ "value": 0
576
+ }
577
+ ],
578
+ "interactions": [
579
+ {
580
+ "type": "Click",
581
+ "layerName": "button",
582
+ "actions": [
583
+ {
584
+ "type": "Increment",
585
+ "inputName": "n",
586
+ "value": 1
587
+ }
588
+ ]
589
+ }
590
+ ],
591
+ "states": [
592
+ {
593
+ "name": "rest",
594
+ "type": "PlaybackState",
595
+ "segment": [
596
+ 0,
597
+ 5
598
+ ],
599
+ "transitions": [
600
+ {
601
+ "type": "Transition",
602
+ "toState": "burst",
603
+ "guards": [
604
+ {
605
+ "type": "Numeric",
606
+ "inputName": "n",
607
+ "conditionType": "GreaterThanOrEqual",
608
+ "compareTo": 3
609
+ }
610
+ ]
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ "name": "burst",
616
+ "type": "PlaybackState",
617
+ "segment": [
618
+ 5,
619
+ 30
620
+ ],
621
+ "loop": false,
622
+ "mode": "Reverse",
623
+ "entryActions": [
624
+ {
625
+ "type": "SetNumeric",
626
+ "inputName": "n",
627
+ "value": 0
628
+ }
629
+ ]
630
+ }
631
+ ]
632
+ },
633
+ "initial": {
634
+ "state": "rest",
635
+ "entered": [
636
+ "rest"
637
+ ],
638
+ "final": false,
639
+ "range": [
640
+ 0.0,
641
+ 5.0
642
+ ],
643
+ "autoplay": true,
644
+ "inputs": {
645
+ "n": 0.0
646
+ }
647
+ },
648
+ "steps": [
649
+ {
650
+ "state": "rest",
651
+ "entered": [],
652
+ "final": false,
653
+ "range": [
654
+ 0.0,
655
+ 5.0
656
+ ],
657
+ "autoplay": true,
658
+ "inputs": {
659
+ "n": 1.0
660
+ },
661
+ "step": {
662
+ "post": "click",
663
+ "layer": "button"
664
+ }
665
+ },
666
+ {
667
+ "state": "rest",
668
+ "entered": [],
669
+ "final": false,
670
+ "range": [
671
+ 0.0,
672
+ 5.0
673
+ ],
674
+ "autoplay": true,
675
+ "inputs": {
676
+ "n": 1.0
677
+ },
678
+ "step": {
679
+ "post": "click",
680
+ "layer": "background"
681
+ }
682
+ },
683
+ {
684
+ "state": "rest",
685
+ "entered": [],
686
+ "final": false,
687
+ "range": [
688
+ 0.0,
689
+ 5.0
690
+ ],
691
+ "autoplay": true,
692
+ "inputs": {
693
+ "n": 2.0
694
+ },
695
+ "step": {
696
+ "post": "click",
697
+ "layer": "button"
698
+ }
699
+ },
700
+ {
701
+ "state": "burst",
702
+ "entered": [
703
+ "burst"
704
+ ],
705
+ "final": false,
706
+ "range": [
707
+ 5.0,
708
+ 30.0
709
+ ],
710
+ "autoplay": true,
711
+ "inputs": {
712
+ "n": 0.0
713
+ },
714
+ "step": {
715
+ "post": "click",
716
+ "layer": "button"
717
+ }
718
+ }
719
+ ]
720
+ }
721
+ ]
722
+ }