animl-cli 0.0.0-stage → 0.1.1

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 (1181) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +34 -0
  3. package/README.md +25 -2
  4. package/docs/AUTHORING.md +1530 -0
  5. package/docs/CLI.md +627 -0
  6. package/docs/parity/inventory.json +34570 -0
  7. package/examples/bell.ani +359 -0
  8. package/examples/bell.animl +114 -0
  9. package/examples/composite.ani +110 -0
  10. package/examples/composite.animl +21 -0
  11. package/examples/feather.ani +56 -0
  12. package/examples/feather.animl +20 -0
  13. package/examples/image-paints.ani +32 -0
  14. package/examples/image-paints.animl +8 -0
  15. package/examples/lib/cards.animl +9 -0
  16. package/examples/lib/shared.animl +10 -0
  17. package/examples/lib/ui.animl +8 -0
  18. package/examples/moon-toggle.png +0 -0
  19. package/examples/moon.ani +250 -0
  20. package/examples/moon.animl +55 -0
  21. package/examples/motion.ani +94 -0
  22. package/examples/motion.animl +24 -0
  23. package/examples/paint.ani +91 -0
  24. package/examples/paint.animl +21 -0
  25. package/examples/photo.ani +29 -0
  26. package/examples/photo.animl +6 -0
  27. package/examples/progress.ani +43 -0
  28. package/examples/progress.animl +6 -0
  29. package/examples/shapes.ani +109 -0
  30. package/examples/shapes.animl +16 -0
  31. package/examples/slice.ani +32 -0
  32. package/examples/slice.animl +9 -0
  33. package/examples/switch.ani +91 -0
  34. package/examples/switch.animl +22 -0
  35. package/examples/toolbar.ani +480 -0
  36. package/examples/toolbar.animl +115 -0
  37. package/examples/trash-ring.png +0 -0
  38. package/examples/trash.ani +357 -0
  39. package/examples/trash.animl +88 -0
  40. package/examples/web/index.html +520 -0
  41. package/examples/web/template.html +162 -0
  42. package/fixtures/bell/rive-reference/frames/00-rest.png +0 -0
  43. package/fixtures/bell/rive-reference/frames/01-hover.png +0 -0
  44. package/fixtures/bell/rive-reference/frames/02-ring-f3.png +0 -0
  45. package/fixtures/bell/rive-reference/frames/03-ring-f7.png +0 -0
  46. package/fixtures/bell/rive-reference/frames/04-ring-f17.png +0 -0
  47. package/fixtures/bell/rive-reference/frames/05-ring-f27.png +0 -0
  48. package/fixtures/bell/rive-reference/frames/06-ring-f57.png +0 -0
  49. package/fixtures/bell/rive-reference/frames/07-rested.png +0 -0
  50. package/fixtures/bell/rive-reference/frames/08-out.png +0 -0
  51. package/fixtures/bell/rive-reference/frames/commands.txt +24 -0
  52. package/llms.txt +30 -0
  53. package/modules/a11y/AUTHORING.md +108 -0
  54. package/modules/a11y/SPEC.md +304 -0
  55. package/modules/a11y/capabilities/a11y-focus-condition/example.ani +69 -0
  56. package/modules/a11y/capabilities/a11y-focus-condition/example.animl +17 -0
  57. package/modules/a11y/capabilities/a11y-inferred-text/example.ani +47 -0
  58. package/modules/a11y/capabilities/a11y-inferred-text/example.animl +13 -0
  59. package/modules/a11y/capabilities/a11y-property-heading-level/example.ani +26 -0
  60. package/modules/a11y/capabilities/a11y-property-heading-level/example.animl +6 -0
  61. package/modules/a11y/capabilities/a11y-tree-bounds/example.ani +88 -0
  62. package/modules/a11y/capabilities/a11y-tree-bounds/example.animl +18 -0
  63. package/modules/a11y/capabilities/a11y-tree-visibility/example.ani +16 -0
  64. package/modules/a11y/capabilities/a11y-tree-visibility/example.animl +4 -0
  65. package/modules/a11y/core/commands.source +135 -0
  66. package/modules/a11y/examples/contract.ani +74 -0
  67. package/modules/a11y/examples/contract.animl +15 -0
  68. package/modules/a11y/examples/focus-ancestor-policy.ani +72 -0
  69. package/modules/a11y/examples/focus-ancestor-policy.animl +16 -0
  70. package/modules/a11y/examples/painted-extents.ani +331 -0
  71. package/modules/a11y/examples/painted-extents.animl +62 -0
  72. package/modules/a11y/examples/painted-groups.ani +88 -0
  73. package/modules/a11y/examples/painted-groups.animl +18 -0
  74. package/modules/a11y/examples/slider-value-text.ani +53 -0
  75. package/modules/a11y/examples/slider-value-text.animl +11 -0
  76. package/modules/a11y/manifest.source +49 -0
  77. package/modules/a11y-actions/manifest.source +22 -0
  78. package/modules/a11y-dom/AUTHORING.md +35 -0
  79. package/modules/a11y-dom/SPEC.md +165 -0
  80. package/modules/a11y-dom/examples/mute.ani +28 -0
  81. package/modules/a11y-dom/examples/mute.animl +6 -0
  82. package/modules/a11y-dom/examples/navigation.ani +152 -0
  83. package/modules/a11y-dom/examples/navigation.animl +35 -0
  84. package/modules/a11y-dom/manifest.source +22 -0
  85. package/modules/assetio/SPEC.md +16 -0
  86. package/modules/assetio/manifest.source +12 -0
  87. package/modules/assets/SPEC.md +23 -0
  88. package/modules/assets/capabilities/assets-audio/example.ani +60 -0
  89. package/modules/assets/capabilities/assets-audio/example.animl +16 -0
  90. package/modules/assets/capabilities/assets-audio-clip/example.ani +62 -0
  91. package/modules/assets/capabilities/assets-audio-clip/example.animl +17 -0
  92. package/modules/assets/capabilities/assets-audio-export-source/example.ani +60 -0
  93. package/modules/assets/capabilities/assets-audio-export-source/example.animl +16 -0
  94. package/modules/assets/capabilities/assets-audio-import-flac/example.ani +63 -0
  95. package/modules/assets/capabilities/assets-audio-import-flac/example.animl +17 -0
  96. package/modules/assets/capabilities/assets-audio-import-mp3/example.ani +63 -0
  97. package/modules/assets/capabilities/assets-audio-import-mp3/example.animl +17 -0
  98. package/modules/assets/capabilities/assets-audio-import-wav/example.ani +60 -0
  99. package/modules/assets/capabilities/assets-audio-import-wav/example.animl +16 -0
  100. package/modules/assets/capabilities/assets-blob/example.ani +52 -0
  101. package/modules/assets/capabilities/assets-blob/example.animl +13 -0
  102. package/modules/assets/capabilities/assets-cdn-disable/example.ani +48 -0
  103. package/modules/assets/capabilities/assets-cdn-disable/example.animl +12 -0
  104. package/modules/assets/capabilities/assets-exclude-export/example.ani +49 -0
  105. package/modules/assets/capabilities/assets-exclude-export/example.animl +12 -0
  106. package/modules/assets/capabilities/assets-host-decode-audio/example.ani +60 -0
  107. package/modules/assets/capabilities/assets-host-decode-audio/example.animl +16 -0
  108. package/modules/assets/capabilities/assets-image-encoding-jpeg/example.ani +50 -0
  109. package/modules/assets/capabilities/assets-image-encoding-jpeg/example.animl +12 -0
  110. package/modules/assets/capabilities/assets-image-encoding-png/example.ani +50 -0
  111. package/modules/assets/capabilities/assets-image-encoding-png/example.animl +12 -0
  112. package/modules/assets/capabilities/assets-image-encoding-webp/example.ani +50 -0
  113. package/modules/assets/capabilities/assets-image-encoding-webp/example.animl +12 -0
  114. package/modules/assets/capabilities/assets-image-export-controls/example.ani +49 -0
  115. package/modules/assets/capabilities/assets-image-export-controls/example.animl +12 -0
  116. package/modules/assets/capabilities/assets-image-filter-bilinear/example.ani +49 -0
  117. package/modules/assets/capabilities/assets-image-filter-bilinear/example.animl +12 -0
  118. package/modules/assets/capabilities/assets-image-filter-nearest/example.ani +49 -0
  119. package/modules/assets/capabilities/assets-image-filter-nearest/example.animl +12 -0
  120. package/modules/assets/capabilities/assets-image-import-jpeg/example.ani +49 -0
  121. package/modules/assets/capabilities/assets-image-import-jpeg/example.animl +12 -0
  122. package/modules/assets/capabilities/assets-image-import-jpg/example.ani +49 -0
  123. package/modules/assets/capabilities/assets-image-import-jpg/example.animl +12 -0
  124. package/modules/assets/capabilities/assets-image-import-png/example.ani +49 -0
  125. package/modules/assets/capabilities/assets-image-import-png/example.animl +12 -0
  126. package/modules/assets/capabilities/assets-image-import-webp/example.ani +49 -0
  127. package/modules/assets/capabilities/assets-image-import-webp/example.animl +12 -0
  128. package/modules/assets/capabilities/assets-image-wrap-x-clamp/example.ani +50 -0
  129. package/modules/assets/capabilities/assets-image-wrap-x-clamp/example.animl +12 -0
  130. package/modules/assets/capabilities/assets-image-wrap-x-mirror/example.ani +50 -0
  131. package/modules/assets/capabilities/assets-image-wrap-x-mirror/example.animl +12 -0
  132. package/modules/assets/capabilities/assets-image-wrap-x-repeat/example.ani +50 -0
  133. package/modules/assets/capabilities/assets-image-wrap-x-repeat/example.animl +12 -0
  134. package/modules/assets/capabilities/assets-image-wrap-y-clamp/example.ani +50 -0
  135. package/modules/assets/capabilities/assets-image-wrap-y-clamp/example.animl +12 -0
  136. package/modules/assets/capabilities/assets-image-wrap-y-mirror/example.ani +50 -0
  137. package/modules/assets/capabilities/assets-image-wrap-y-mirror/example.animl +12 -0
  138. package/modules/assets/capabilities/assets-image-wrap-y-repeat/example.ani +50 -0
  139. package/modules/assets/capabilities/assets-image-wrap-y-repeat/example.animl +12 -0
  140. package/modules/assets/capabilities/assets-lottie-import/example.ani +58 -0
  141. package/modules/assets/capabilities/assets-lottie-import/example.animl +20 -0
  142. package/modules/assets/capabilities/assets-metadata/example.ani +53 -0
  143. package/modules/assets/capabilities/assets-metadata/example.animl +12 -0
  144. package/modules/assets/capabilities/assets-replacement-scope-image/example.ani +48 -0
  145. package/modules/assets/capabilities/assets-replacement-scope-image/example.animl +12 -0
  146. package/modules/assets/capabilities/assets-svg-import/example.ani +52 -0
  147. package/modules/assets/capabilities/assets-svg-import/example.animl +11 -0
  148. package/modules/assets/capabilities/host-api-asset-cdn-policy/example.ani +48 -0
  149. package/modules/assets/capabilities/host-api-asset-cdn-policy/example.animl +12 -0
  150. package/modules/assets/capabilities/host-api-asset-loader/example.ani +48 -0
  151. package/modules/assets/capabilities/host-api-asset-loader/example.animl +12 -0
  152. package/modules/assets/capabilities/host-api-asset-metadata/example.ani +53 -0
  153. package/modules/assets/capabilities/host-api-asset-metadata/example.animl +12 -0
  154. package/modules/assets/manifest.source +79 -0
  155. package/modules/bind/AUTHORING.md +49 -0
  156. package/modules/bind/capabilities/data-bind-listener-actions/example.ani +30 -0
  157. package/modules/bind/capabilities/data-bind-listener-actions/example.animl +5 -0
  158. package/modules/bind/core/expression.source +224 -0
  159. package/modules/bind/examples/filtering-list.ani +122 -0
  160. package/modules/bind/examples/filtering-list.animl +29 -0
  161. package/modules/bind/manifest.source +58 -0
  162. package/modules/canvas/capabilities/host-api-device-pixel-ratio/example.ani +16 -0
  163. package/modules/canvas/capabilities/host-api-device-pixel-ratio/example.animl +3 -0
  164. package/modules/canvas/capabilities/host-api-resize-backing-surface/example.ani +16 -0
  165. package/modules/canvas/capabilities/host-api-resize-backing-surface/example.animl +3 -0
  166. package/modules/canvas/capabilities/platforms-web-canvas/example.ani +16 -0
  167. package/modules/canvas/capabilities/platforms-web-canvas/example.animl +3 -0
  168. package/modules/canvas/manifest.source +16 -0
  169. package/modules/colormix/examples/switch.ani +51 -0
  170. package/modules/colormix/examples/switch.animl +13 -0
  171. package/modules/colormix/manifest.source +39 -0
  172. package/modules/componentpaint/capabilities/drawing-paint-paint-artboard/example.ani +72 -0
  173. package/modules/componentpaint/capabilities/drawing-paint-paint-artboard/example.animl +13 -0
  174. package/modules/componentpaint/examples/live.ani +72 -0
  175. package/modules/componentpaint/examples/live.animl +13 -0
  176. package/modules/componentpaint/manifest.source +29 -0
  177. package/modules/components/manifest.source +61 -0
  178. package/modules/composite/manifest.source +49 -0
  179. package/modules/contour/capabilities/drawing-paint-asymmetric-vertex/example.ani +32 -0
  180. package/modules/contour/capabilities/drawing-paint-asymmetric-vertex/example.animl +5 -0
  181. package/modules/contour/capabilities/drawing-paint-detached-vertex/example.ani +32 -0
  182. package/modules/contour/capabilities/drawing-paint-detached-vertex/example.animl +5 -0
  183. package/modules/contour/capabilities/drawing-paint-effect-order/example.ani +28 -0
  184. package/modules/contour/capabilities/drawing-paint-effect-order/example.animl +3 -0
  185. package/modules/contour/capabilities/drawing-paint-fill-rule-clockwise/example.ani +17 -0
  186. package/modules/contour/capabilities/drawing-paint-fill-rule-clockwise/example.animl +3 -0
  187. package/modules/contour/capabilities/drawing-paint-geometry-origin/example.ani +35 -0
  188. package/modules/contour/capabilities/drawing-paint-geometry-origin/example.animl +5 -0
  189. package/modules/contour/capabilities/drawing-paint-mirrored-vertex/example.ani +31 -0
  190. package/modules/contour/capabilities/drawing-paint-mirrored-vertex/example.animl +5 -0
  191. package/modules/contour/capabilities/drawing-paint-rounded-vertex/example.ani +31 -0
  192. package/modules/contour/capabilities/drawing-paint-rounded-vertex/example.animl +5 -0
  193. package/modules/contour/capabilities/drawing-paint-shared-effects/example.ani +26 -0
  194. package/modules/contour/capabilities/drawing-paint-shared-effects/example.animl +3 -0
  195. package/modules/contour/capabilities/drawing-paint-straight-vertex/example.ani +30 -0
  196. package/modules/contour/capabilities/drawing-paint-straight-vertex/example.animl +5 -0
  197. package/modules/contour/capabilities/drawing-paint-trim-sequential/example.ani +22 -0
  198. package/modules/contour/capabilities/drawing-paint-trim-sequential/example.animl +3 -0
  199. package/modules/contour/capabilities/drawing-paint-trim-synchronized/example.ani +22 -0
  200. package/modules/contour/capabilities/drawing-paint-trim-synchronized/example.animl +3 -0
  201. package/modules/contour/manifest.source +47 -0
  202. package/modules/convert/SPEC.md +140 -0
  203. package/modules/convert/capabilities/data-converter-color-formatting/example.ani +44 -0
  204. package/modules/convert/capabilities/data-converter-color-formatting/example.animl +8 -0
  205. package/modules/convert/capabilities/data-converter-trigger/example.ani +78 -0
  206. package/modules/convert/capabilities/data-converter-trigger/example.animl +22 -0
  207. package/modules/convert/core/math.source +126 -0
  208. package/modules/convert/examples/score.ani +60 -0
  209. package/modules/convert/examples/score.animl +12 -0
  210. package/modules/convert/examples/travelling-indicator.ani +41 -0
  211. package/modules/convert/examples/travelling-indicator.animl +8 -0
  212. package/modules/convert/manifest.source +53 -0
  213. package/modules/corners/examples/switch.ani +20 -0
  214. package/modules/corners/examples/switch.animl +3 -0
  215. package/modules/corners/manifest.source +25 -0
  216. package/modules/data/SPEC.md +216 -0
  217. package/modules/data/capabilities/data-bind-conditions/example.ani +52 -0
  218. package/modules/data/capabilities/data-bind-conditions/example.animl +17 -0
  219. package/modules/data/capabilities/data-bind-converter-options/example.ani +16 -0
  220. package/modules/data/capabilities/data-bind-converter-options/example.animl +4 -0
  221. package/modules/data/capabilities/data-bind-instance-values/example.ani +66 -0
  222. package/modules/data/capabilities/data-bind-instance-values/example.animl +17 -0
  223. package/modules/data/capabilities/data-bind-keyframes/example.ani +16 -0
  224. package/modules/data/capabilities/data-bind-keyframes/example.animl +4 -0
  225. package/modules/data/capabilities/data-bind-script-inputs/example.ani +16 -0
  226. package/modules/data/capabilities/data-bind-script-inputs/example.animl +4 -0
  227. package/modules/data/capabilities/data-bind-text/example.ani +16 -0
  228. package/modules/data/capabilities/data-bind-text/example.animl +4 -0
  229. package/modules/data/capabilities/data-binding-absolute/example.ani +43 -0
  230. package/modules/data/capabilities/data-binding-absolute/example.animl +13 -0
  231. package/modules/data/capabilities/data-binding-once/example.ani +58 -0
  232. package/modules/data/capabilities/data-binding-once/example.animl +20 -0
  233. package/modules/data/capabilities/data-binding-relative/example.ani +16 -0
  234. package/modules/data/capabilities/data-binding-relative/example.animl +4 -0
  235. package/modules/data/capabilities/data-binding-to-source/example.ani +58 -0
  236. package/modules/data/capabilities/data-binding-to-source/example.animl +20 -0
  237. package/modules/data/capabilities/data-binding-two-way-prefer-source/example.ani +59 -0
  238. package/modules/data/capabilities/data-binding-two-way-prefer-source/example.animl +20 -0
  239. package/modules/data/capabilities/data-binding-two-way-prefer-target/example.ani +59 -0
  240. package/modules/data/capabilities/data-binding-two-way-prefer-target/example.animl +20 -0
  241. package/modules/data/capabilities/data-component-public-data/example.ani +66 -0
  242. package/modules/data/capabilities/data-component-public-data/example.animl +17 -0
  243. package/modules/data/capabilities/data-custom-property-boolean/example.ani +35 -0
  244. package/modules/data/capabilities/data-custom-property-boolean/example.animl +9 -0
  245. package/modules/data/capabilities/data-custom-property-color/example.ani +38 -0
  246. package/modules/data/capabilities/data-custom-property-color/example.animl +9 -0
  247. package/modules/data/capabilities/data-custom-property-enum/example.ani +40 -0
  248. package/modules/data/capabilities/data-custom-property-enum/example.animl +9 -0
  249. package/modules/data/capabilities/data-custom-property-number/example.ani +35 -0
  250. package/modules/data/capabilities/data-custom-property-number/example.animl +9 -0
  251. package/modules/data/capabilities/data-custom-property-string/example.ani +35 -0
  252. package/modules/data/capabilities/data-custom-property-string/example.animl +9 -0
  253. package/modules/data/capabilities/data-custom-property-trigger/example.ani +52 -0
  254. package/modules/data/capabilities/data-custom-property-trigger/example.animl +15 -0
  255. package/modules/data/capabilities/data-default-instance/example.ani +43 -0
  256. package/modules/data/capabilities/data-default-instance/example.animl +13 -0
  257. package/modules/data/capabilities/data-editor-preview-instance/example.ani +16 -0
  258. package/modules/data/capabilities/data-editor-preview-instance/example.animl +4 -0
  259. package/modules/data/capabilities/data-enum-members/example.ani +41 -0
  260. package/modules/data/capabilities/data-enum-members/example.animl +8 -0
  261. package/modules/data/capabilities/data-global-model/example.ani +64 -0
  262. package/modules/data/capabilities/data-global-model/example.animl +17 -0
  263. package/modules/data/capabilities/data-instance-export/example.ani +41 -0
  264. package/modules/data/capabilities/data-instance-export/example.animl +8 -0
  265. package/modules/data/capabilities/data-list-items/example.ani +55 -0
  266. package/modules/data/capabilities/data-list-items/example.animl +16 -0
  267. package/modules/data/capabilities/data-model-definition/example.ani +43 -0
  268. package/modules/data/capabilities/data-model-definition/example.animl +13 -0
  269. package/modules/data/capabilities/data-named-instances/example.ani +43 -0
  270. package/modules/data/capabilities/data-named-instances/example.animl +13 -0
  271. package/modules/data/capabilities/data-operation-operand-view-model/example.ani +32 -0
  272. package/modules/data/capabilities/data-operation-operand-view-model/example.animl +9 -0
  273. package/modules/data/capabilities/data-property-artboard/example.ani +16 -0
  274. package/modules/data/capabilities/data-property-artboard/example.animl +4 -0
  275. package/modules/data/capabilities/data-property-asset-blob/example.ani +40 -0
  276. package/modules/data/capabilities/data-property-asset-blob/example.animl +10 -0
  277. package/modules/data/capabilities/data-property-asset-font/example.ani +40 -0
  278. package/modules/data/capabilities/data-property-asset-font/example.animl +10 -0
  279. package/modules/data/capabilities/data-property-asset-image/example.ani +40 -0
  280. package/modules/data/capabilities/data-property-asset-image/example.animl +12 -0
  281. package/modules/data/capabilities/data-property-boolean/example.ani +28 -0
  282. package/modules/data/capabilities/data-property-boolean/example.animl +7 -0
  283. package/modules/data/capabilities/data-property-color/example.ani +29 -0
  284. package/modules/data/capabilities/data-property-color/example.animl +7 -0
  285. package/modules/data/capabilities/data-property-enum-custom/example.ani +29 -0
  286. package/modules/data/capabilities/data-property-enum-custom/example.animl +7 -0
  287. package/modules/data/capabilities/data-property-enum-system/example.ani +29 -0
  288. package/modules/data/capabilities/data-property-enum-system/example.animl +7 -0
  289. package/modules/data/capabilities/data-property-list/example.ani +55 -0
  290. package/modules/data/capabilities/data-property-list/example.animl +16 -0
  291. package/modules/data/capabilities/data-property-number/example.ani +29 -0
  292. package/modules/data/capabilities/data-property-number/example.animl +7 -0
  293. package/modules/data/capabilities/data-property-string/example.ani +29 -0
  294. package/modules/data/capabilities/data-property-string/example.animl +7 -0
  295. package/modules/data/capabilities/data-property-symbol-list-index/example.ani +16 -0
  296. package/modules/data/capabilities/data-property-symbol-list-index/example.animl +4 -0
  297. package/modules/data/capabilities/data-property-text-style/example.ani +16 -0
  298. package/modules/data/capabilities/data-property-text-style/example.animl +4 -0
  299. package/modules/data/capabilities/data-property-trigger/example.ani +51 -0
  300. package/modules/data/capabilities/data-property-trigger/example.animl +17 -0
  301. package/modules/data/capabilities/data-property-view-model/example.ani +55 -0
  302. package/modules/data/capabilities/data-property-view-model/example.animl +16 -0
  303. package/modules/data/capabilities/data-script-model-api/example.ani +16 -0
  304. package/modules/data/capabilities/data-script-model-api/example.animl +4 -0
  305. package/modules/data/capabilities/data-scripted-converter/example.ani +16 -0
  306. package/modules/data/capabilities/data-scripted-converter/example.animl +4 -0
  307. package/modules/data/capabilities/data-state-action-trigger/example.ani +51 -0
  308. package/modules/data/capabilities/data-state-action-trigger/example.animl +17 -0
  309. package/modules/data/capabilities/data-system-enum-horizontal-text-align/example.ani +29 -0
  310. package/modules/data/capabilities/data-system-enum-horizontal-text-align/example.animl +7 -0
  311. package/modules/data/capabilities/data-system-enum-layout-alignment/example.ani +29 -0
  312. package/modules/data/capabilities/data-system-enum-layout-alignment/example.animl +7 -0
  313. package/modules/data/capabilities/data-system-enum-layout-direction/example.ani +29 -0
  314. package/modules/data/capabilities/data-system-enum-layout-direction/example.animl +7 -0
  315. package/modules/data/capabilities/data-system-enum-layout-display/example.ani +29 -0
  316. package/modules/data/capabilities/data-system-enum-layout-display/example.animl +7 -0
  317. package/modules/data/capabilities/data-system-enum-layout-flex-direction/example.ani +29 -0
  318. package/modules/data/capabilities/data-system-enum-layout-flex-direction/example.animl +7 -0
  319. package/modules/data/capabilities/data-system-enum-layout-position/example.ani +29 -0
  320. package/modules/data/capabilities/data-system-enum-layout-position/example.animl +7 -0
  321. package/modules/data/capabilities/data-system-enum-layout-position-units/example.ani +29 -0
  322. package/modules/data/capabilities/data-system-enum-layout-position-units/example.animl +7 -0
  323. package/modules/data/capabilities/data-system-enum-layout-scale-type/example.ani +29 -0
  324. package/modules/data/capabilities/data-system-enum-layout-scale-type/example.animl +7 -0
  325. package/modules/data/capabilities/data-system-enum-layout-wrap/example.ani +29 -0
  326. package/modules/data/capabilities/data-system-enum-layout-wrap/example.animl +7 -0
  327. package/modules/data/capabilities/data-system-enum-scroll-direction/example.ani +29 -0
  328. package/modules/data/capabilities/data-system-enum-scroll-direction/example.animl +7 -0
  329. package/modules/data/capabilities/data-system-enum-semantic-check-state/example.ani +29 -0
  330. package/modules/data/capabilities/data-system-enum-semantic-check-state/example.animl +7 -0
  331. package/modules/data/capabilities/data-system-enum-text-box/example.ani +29 -0
  332. package/modules/data/capabilities/data-system-enum-text-box/example.animl +7 -0
  333. package/modules/data/capabilities/data-system-enum-text-overflow/example.ani +29 -0
  334. package/modules/data/capabilities/data-system-enum-text-overflow/example.animl +7 -0
  335. package/modules/data/capabilities/data-system-enum-text-trim-bottom/example.ani +29 -0
  336. package/modules/data/capabilities/data-system-enum-text-trim-bottom/example.animl +7 -0
  337. package/modules/data/capabilities/data-system-enum-text-trim-top/example.ani +29 -0
  338. package/modules/data/capabilities/data-system-enum-text-trim-top/example.animl +7 -0
  339. package/modules/data/capabilities/data-system-enum-vertical-text-align/example.ani +29 -0
  340. package/modules/data/capabilities/data-system-enum-vertical-text-align/example.animl +7 -0
  341. package/modules/data/capabilities/data-system-enum-word-wrap/example.ani +29 -0
  342. package/modules/data/capabilities/data-system-enum-word-wrap/example.animl +7 -0
  343. package/modules/data/capabilities/drawing-paint-gradient-channel-binding/example.ani +46 -0
  344. package/modules/data/capabilities/drawing-paint-gradient-channel-binding/example.animl +14 -0
  345. package/modules/data/capabilities/input-data-listener/example.ani +41 -0
  346. package/modules/data/capabilities/input-data-listener/example.animl +10 -0
  347. package/modules/data/capabilities/input-write-data-constant/example.ani +41 -0
  348. package/modules/data/capabilities/input-write-data-constant/example.animl +10 -0
  349. package/modules/data/capabilities/input-write-data-copy/example.ani +39 -0
  350. package/modules/data/capabilities/input-write-data-copy/example.animl +10 -0
  351. package/modules/data/capabilities/input-write-focused/example.ani +39 -0
  352. package/modules/data/capabilities/input-write-focused/example.animl +11 -0
  353. package/modules/data/capabilities/input-write-gamepad-axis/example.ani +38 -0
  354. package/modules/data/capabilities/input-write-gamepad-axis/example.animl +9 -0
  355. package/modules/data/capabilities/input-write-gamepad-button-pressed/example.ani +38 -0
  356. package/modules/data/capabilities/input-write-gamepad-button-pressed/example.animl +9 -0
  357. package/modules/data/capabilities/input-write-gamepad-button-value/example.ani +38 -0
  358. package/modules/data/capabilities/input-write-gamepad-button-value/example.animl +9 -0
  359. package/modules/data/capabilities/input-write-gamepad-changed-value/example.ani +38 -0
  360. package/modules/data/capabilities/input-write-gamepad-changed-value/example.animl +9 -0
  361. package/modules/data/examples/data-extras.ani +109 -0
  362. package/modules/data/examples/data-extras.animl +28 -0
  363. package/modules/data/examples/scoreboard.ani +74 -0
  364. package/modules/data/examples/scoreboard.animl +18 -0
  365. package/modules/data/manifest.source +111 -0
  366. package/modules/data-artboard/SPEC.md +94 -0
  367. package/modules/data-artboard/capabilities/components-host-artboard-reference/example.ani +16 -0
  368. package/modules/data-artboard/capabilities/components-host-artboard-reference/example.animl +26 -0
  369. package/modules/data-artboard/capabilities/data-host-artboard/example.ani +16 -0
  370. package/modules/data-artboard/capabilities/data-host-artboard/example.animl +18 -0
  371. package/modules/data-artboard/capabilities/host-api-bindable-artboards/example.ani +16 -0
  372. package/modules/data-artboard/capabilities/host-api-bindable-artboards/example.animl +34 -0
  373. package/modules/data-artboard/capabilities/host-api-data-artboard/example.ani +16 -0
  374. package/modules/data-artboard/capabilities/host-api-data-artboard/example.animl +18 -0
  375. package/modules/data-artboard/manifest.source +41 -0
  376. package/modules/data-host/SPEC.md +50 -0
  377. package/modules/data-host/examples/nested.ani +82 -0
  378. package/modules/data-host/examples/nested.animl +21 -0
  379. package/modules/data-host/manifest.source +26 -0
  380. package/modules/derive/SPEC.md +66 -0
  381. package/modules/derive/examples/scoreboard.ani +121 -0
  382. package/modules/derive/examples/scoreboard.animl +27 -0
  383. package/modules/derive/manifest.source +24 -0
  384. package/modules/devtools/SPEC.md +25 -0
  385. package/modules/devtools/capabilities/host-api-deprecation-policy/example.ani +16 -0
  386. package/modules/devtools/capabilities/host-api-deprecation-policy/example.animl +3 -0
  387. package/modules/devtools/capabilities/host-api-fps-counter/example.ani +16 -0
  388. package/modules/devtools/capabilities/host-api-fps-counter/example.animl +9 -0
  389. package/modules/devtools/capabilities/host-api-performance-marks/example.ani +16 -0
  390. package/modules/devtools/capabilities/host-api-performance-marks/example.animl +3 -0
  391. package/modules/devtools/capabilities/host-api-stop/example.ani +16 -0
  392. package/modules/devtools/capabilities/host-api-stop/example.animl +3 -0
  393. package/modules/devtools/manifest.source +13 -0
  394. package/modules/events/examples/events.ani +75 -0
  395. package/modules/events/examples/events.animl +23 -0
  396. package/modules/events/examples/share-evidence/README.md +48 -0
  397. package/modules/events/examples/share-evidence/clicks.jsonl +51 -0
  398. package/modules/events/examples/share-evidence/clicks.script +102 -0
  399. package/modules/events/examples/share-evidence/interrupt.jsonl +3 -0
  400. package/modules/events/examples/share-evidence/interrupt.script +7 -0
  401. package/modules/events/examples/share-evidence/perf.txt +4 -0
  402. package/modules/events/examples/share-evidence/pulse.jsonl +10 -0
  403. package/modules/events/examples/share-evidence/pulse.script +20 -0
  404. package/modules/events/examples/share-evidence/rest-diff.txt +1 -0
  405. package/modules/events/examples/share-evidence/size.txt +18 -0
  406. package/modules/events/examples/share-evidence/verify.py +48 -0
  407. package/modules/events/examples/share-tone.wav +0 -0
  408. package/modules/events/examples/share.ani +186 -0
  409. package/modules/events/examples/share.animl +40 -0
  410. package/modules/events/manifest.source +74 -0
  411. package/modules/focus/capabilities/input-focus-clear/example.ani +116 -0
  412. package/modules/focus/capabilities/input-focus-clear/example.animl +28 -0
  413. package/modules/focus/capabilities/input-focus-down/example.ani +116 -0
  414. package/modules/focus/capabilities/input-focus-down/example.animl +28 -0
  415. package/modules/focus/capabilities/input-focus-edge-closed-loop/example.ani +116 -0
  416. package/modules/focus/capabilities/input-focus-edge-closed-loop/example.animl +28 -0
  417. package/modules/focus/capabilities/input-focus-edge-parent-scope/example.ani +116 -0
  418. package/modules/focus/capabilities/input-focus-edge-parent-scope/example.animl +28 -0
  419. package/modules/focus/capabilities/input-focus-edge-stop/example.ani +116 -0
  420. package/modules/focus/capabilities/input-focus-edge-stop/example.animl +28 -0
  421. package/modules/focus/capabilities/input-focus-enabled/example.ani +116 -0
  422. package/modules/focus/capabilities/input-focus-enabled/example.animl +28 -0
  423. package/modules/focus/capabilities/input-focus-left/example.ani +116 -0
  424. package/modules/focus/capabilities/input-focus-left/example.animl +28 -0
  425. package/modules/focus/capabilities/input-focus-next/example.ani +116 -0
  426. package/modules/focus/capabilities/input-focus-next/example.animl +28 -0
  427. package/modules/focus/capabilities/input-focus-pointer/example.ani +116 -0
  428. package/modules/focus/capabilities/input-focus-pointer/example.animl +28 -0
  429. package/modules/focus/capabilities/input-focus-previous/example.ani +116 -0
  430. package/modules/focus/capabilities/input-focus-previous/example.animl +28 -0
  431. package/modules/focus/capabilities/input-focus-right/example.ani +116 -0
  432. package/modules/focus/capabilities/input-focus-right/example.animl +28 -0
  433. package/modules/focus/capabilities/input-focus-target/example.ani +116 -0
  434. package/modules/focus/capabilities/input-focus-target/example.animl +28 -0
  435. package/modules/focus/capabilities/input-focus-traverse/example.ani +116 -0
  436. package/modules/focus/capabilities/input-focus-traverse/example.animl +28 -0
  437. package/modules/focus/capabilities/input-focus-up/example.ani +116 -0
  438. package/modules/focus/capabilities/input-focus-up/example.animl +28 -0
  439. package/modules/focus/capabilities/input-listen-blur/example.ani +116 -0
  440. package/modules/focus/capabilities/input-listen-blur/example.animl +28 -0
  441. package/modules/focus/capabilities/input-listen-focus/example.ani +116 -0
  442. package/modules/focus/capabilities/input-listen-focus/example.animl +28 -0
  443. package/modules/focus/examples/README.md +10 -0
  444. package/modules/focus/examples/traversal.ani +70 -0
  445. package/modules/focus/examples/traversal.animl +16 -0
  446. package/modules/focus/manifest.source +48 -0
  447. package/modules/fonts/SPEC.md +92 -0
  448. package/modules/fonts/capabilities/assets-font/example.ani +23 -0
  449. package/modules/fonts/capabilities/assets-font/example.animl +5 -0
  450. package/modules/fonts/capabilities/assets-host-decode-font/example.ani +23 -0
  451. package/modules/fonts/capabilities/assets-host-decode-font/example.animl +5 -0
  452. package/modules/fonts/capabilities/assets-replacement-scope-font/example.ani +23 -0
  453. package/modules/fonts/capabilities/assets-replacement-scope-font/example.animl +5 -0
  454. package/modules/fonts/capabilities/data-host-font/example.ani +23 -0
  455. package/modules/fonts/capabilities/data-host-font/example.animl +5 -0
  456. package/modules/fonts/capabilities/host-api-data-font/example.ani +23 -0
  457. package/modules/fonts/capabilities/host-api-data-font/example.animl +5 -0
  458. package/modules/fonts/capabilities/host-api-font-fallback/example.ani +23 -0
  459. package/modules/fonts/capabilities/host-api-font-fallback/example.animl +5 -0
  460. package/modules/fonts/capabilities/text-font-assets/example.ani +23 -0
  461. package/modules/fonts/capabilities/text-font-assets/example.animl +5 -0
  462. package/modules/fonts/capabilities/text-font-decoding/example.ani +43 -0
  463. package/modules/fonts/capabilities/text-font-decoding/example.animl +9 -0
  464. package/modules/fonts/capabilities/text-font-fallback/example.ani +23 -0
  465. package/modules/fonts/capabilities/text-font-fallback/example.animl +5 -0
  466. package/modules/fonts/capabilities/text-font-metrics/example.ani +40 -0
  467. package/modules/fonts/capabilities/text-font-metrics/example.animl +9 -0
  468. package/modules/fonts/capabilities/text-opentype-features/example.ani +23 -0
  469. package/modules/fonts/capabilities/text-opentype-features/example.animl +7 -0
  470. package/modules/fonts/capabilities/text-variable-axes/example.ani +23 -0
  471. package/modules/fonts/capabilities/text-variable-axes/example.animl +9 -0
  472. package/modules/fonts/manifest.source +57 -0
  473. package/modules/host/AUTHORING.md +33 -0
  474. package/modules/host/SPEC.md +76 -0
  475. package/modules/host/examples/page.html +23 -0
  476. package/modules/host/examples/score.ani +48 -0
  477. package/modules/host/examples/score.animl +10 -0
  478. package/modules/host/manifest.source +19 -0
  479. package/modules/host-edit/AUTHORING.md +66 -0
  480. package/modules/host-edit/SPEC.md +96 -0
  481. package/modules/host-edit/examples/board.ani +72 -0
  482. package/modules/host-edit/examples/board.animl +17 -0
  483. package/modules/host-edit/examples/page.html +34 -0
  484. package/modules/host-edit/manifest.source +21 -0
  485. package/modules/host-fit/capabilities/host-api-fit-layout/example.ani +55 -0
  486. package/modules/host-fit/capabilities/host-api-fit-layout/example.animl +11 -0
  487. package/modules/host-fit/examples/tile.ani +19 -0
  488. package/modules/host-fit/examples/tile.animl +3 -0
  489. package/modules/host-fit/manifest.source +22 -0
  490. package/modules/host-values/SPEC.md +9 -0
  491. package/modules/host-values/manifest.source +22 -0
  492. package/modules/ik/capabilities/rigging-ik/example.ani +16 -0
  493. package/modules/ik/capabilities/rigging-ik/example.animl +11 -0
  494. package/modules/ik/capabilities/rigging-ik-bend/example.ani +16 -0
  495. package/modules/ik/capabilities/rigging-ik-bend/example.animl +11 -0
  496. package/modules/ik/examples/reach.ani +100 -0
  497. package/modules/ik/examples/reach.animl +18 -0
  498. package/modules/ik/manifest.source +30 -0
  499. package/modules/input/SPEC.md +397 -0
  500. package/modules/input/capabilities/host-api-coordinate-mapping/example.ani +32 -0
  501. package/modules/input/capabilities/host-api-coordinate-mapping/example.animl +7 -0
  502. package/modules/input/capabilities/host-api-dom-listener-control/example.ani +32 -0
  503. package/modules/input/capabilities/host-api-dom-listener-control/example.animl +7 -0
  504. package/modules/input/capabilities/host-api-gamepad/example.ani +34 -0
  505. package/modules/input/capabilities/host-api-gamepad/example.animl +7 -0
  506. package/modules/input/capabilities/host-api-low-level-pointer/example.ani +32 -0
  507. package/modules/input/capabilities/host-api-low-level-pointer/example.animl +7 -0
  508. package/modules/input/capabilities/host-api-low-level-scroll/example.ani +32 -0
  509. package/modules/input/capabilities/host-api-low-level-scroll/example.animl +7 -0
  510. package/modules/input/capabilities/host-api-manual-gamepad-batch/example.ani +34 -0
  511. package/modules/input/capabilities/host-api-manual-gamepad-batch/example.animl +7 -0
  512. package/modules/input/capabilities/host-api-multitouch/example.ani +32 -0
  513. package/modules/input/capabilities/host-api-multitouch/example.animl +7 -0
  514. package/modules/input/capabilities/host-api-pointer-exit/example.ani +31 -0
  515. package/modules/input/capabilities/host-api-pointer-exit/example.animl +7 -0
  516. package/modules/input/capabilities/host-api-scroll-hit-policy/example.ani +32 -0
  517. package/modules/input/capabilities/host-api-scroll-hit-policy/example.animl +7 -0
  518. package/modules/input/capabilities/host-api-scroll-latching/example.ani +32 -0
  519. package/modules/input/capabilities/host-api-scroll-latching/example.animl +7 -0
  520. package/modules/input/capabilities/input-align-preserve/example.ani +43 -0
  521. package/modules/input/capabilities/input-align-preserve/example.animl +9 -0
  522. package/modules/input/capabilities/input-align-snap/example.ani +43 -0
  523. package/modules/input/capabilities/input-align-snap/example.animl +9 -0
  524. package/modules/input/capabilities/input-bounded-hit-tests/example.ani +32 -0
  525. package/modules/input/capabilities/input-bounded-hit-tests/example.animl +7 -0
  526. package/modules/input/capabilities/input-button-middle/example.ani +33 -0
  527. package/modules/input/capabilities/input-button-middle/example.animl +7 -0
  528. package/modules/input/capabilities/input-button-secondary/example.ani +33 -0
  529. package/modules/input/capabilities/input-button-secondary/example.animl +7 -0
  530. package/modules/input/capabilities/input-capture-phase/example.ani +60 -0
  531. package/modules/input/capabilities/input-capture-phase/example.animl +11 -0
  532. package/modules/input/capabilities/input-cursor-arrow/example.ani +33 -0
  533. package/modules/input/capabilities/input-cursor-arrow/example.animl +7 -0
  534. package/modules/input/capabilities/input-cursor-hidden/example.ani +33 -0
  535. package/modules/input/capabilities/input-cursor-hidden/example.animl +7 -0
  536. package/modules/input/capabilities/input-cursor-intent/example.ani +33 -0
  537. package/modules/input/capabilities/input-cursor-intent/example.animl +7 -0
  538. package/modules/input/capabilities/input-cursor-pointer/example.ani +33 -0
  539. package/modules/input/capabilities/input-cursor-pointer/example.animl +7 -0
  540. package/modules/input/capabilities/input-cursor-resize-horizontal/example.ani +33 -0
  541. package/modules/input/capabilities/input-cursor-resize-horizontal/example.animl +7 -0
  542. package/modules/input/capabilities/input-cursor-resize-vertical/example.ani +33 -0
  543. package/modules/input/capabilities/input-cursor-resize-vertical/example.animl +7 -0
  544. package/modules/input/capabilities/input-cursor-text/example.ani +33 -0
  545. package/modules/input/capabilities/input-cursor-text/example.animl +7 -0
  546. package/modules/input/capabilities/input-disable-listeners/example.ani +32 -0
  547. package/modules/input/capabilities/input-disable-listeners/example.animl +7 -0
  548. package/modules/input/capabilities/input-gamepad-axis/example.ani +34 -0
  549. package/modules/input/capabilities/input-gamepad-axis/example.animl +7 -0
  550. package/modules/input/capabilities/input-gamepad-button/example.ani +32 -0
  551. package/modules/input/capabilities/input-gamepad-button/example.animl +7 -0
  552. package/modules/input/capabilities/input-gamepad-button-phases/example.ani +33 -0
  553. package/modules/input/capabilities/input-gamepad-button-phases/example.animl +7 -0
  554. package/modules/input/capabilities/input-gamepad-connected/example.ani +31 -0
  555. package/modules/input/capabilities/input-gamepad-connected/example.animl +7 -0
  556. package/modules/input/capabilities/input-gamepad-disconnected/example.ani +31 -0
  557. package/modules/input/capabilities/input-gamepad-disconnected/example.animl +7 -0
  558. package/modules/input/capabilities/input-gamepad-host/example.ani +34 -0
  559. package/modules/input/capabilities/input-gamepad-host/example.animl +7 -0
  560. package/modules/input/capabilities/input-gamepad-index-mapping/example.ani +34 -0
  561. package/modules/input/capabilities/input-gamepad-index-mapping/example.animl +7 -0
  562. package/modules/input/capabilities/input-hit-occlusion-query/example.ani +42 -0
  563. package/modules/input/capabilities/input-hit-occlusion-query/example.animl +8 -0
  564. package/modules/input/capabilities/input-hit-parent-chain/example.ani +39 -0
  565. package/modules/input/capabilities/input-hit-parent-chain/example.animl +9 -0
  566. package/modules/input/capabilities/input-hit-shape-geometry/example.ani +32 -0
  567. package/modules/input/capabilities/input-hit-shape-geometry/example.animl +7 -0
  568. package/modules/input/capabilities/input-hit-test-host/example.ani +32 -0
  569. package/modules/input/capabilities/input-hit-test-host/example.animl +7 -0
  570. package/modules/input/capabilities/input-key-down/example.ani +32 -0
  571. package/modules/input/capabilities/input-key-down/example.animl +7 -0
  572. package/modules/input/capabilities/input-key-filter/example.ani +32 -0
  573. package/modules/input/capabilities/input-key-filter/example.animl +7 -0
  574. package/modules/input/capabilities/input-key-modifiers/example.ani +33 -0
  575. package/modules/input/capabilities/input-key-modifiers/example.animl +7 -0
  576. package/modules/input/capabilities/input-key-repeat/example.ani +32 -0
  577. package/modules/input/capabilities/input-key-repeat/example.animl +7 -0
  578. package/modules/input/capabilities/input-key-up/example.ani +32 -0
  579. package/modules/input/capabilities/input-key-up/example.animl +7 -0
  580. package/modules/input/capabilities/input-keyboard-bubbling/example.ani +45 -0
  581. package/modules/input/capabilities/input-keyboard-bubbling/example.animl +10 -0
  582. package/modules/input/capabilities/input-multi-touch/example.ani +32 -0
  583. package/modules/input/capabilities/input-multi-touch/example.animl +7 -0
  584. package/modules/input/capabilities/input-multi-trigger-listener/example.ani +32 -0
  585. package/modules/input/capabilities/input-multi-trigger-listener/example.animl +7 -0
  586. package/modules/input/capabilities/input-opaque-targets/example.ani +42 -0
  587. package/modules/input/capabilities/input-opaque-targets/example.animl +8 -0
  588. package/modules/input/capabilities/input-pointer-cancel/example.ani +31 -0
  589. package/modules/input/capabilities/input-pointer-cancel/example.animl +7 -0
  590. package/modules/input/capabilities/input-pointer-drag/example.ani +58 -0
  591. package/modules/input/capabilities/input-pointer-drag/example.animl +17 -0
  592. package/modules/input/capabilities/input-pointer-drag-end/example.ani +58 -0
  593. package/modules/input/capabilities/input-pointer-drag-end/example.animl +17 -0
  594. package/modules/input/capabilities/input-pointer-drag-start/example.ani +58 -0
  595. package/modules/input/capabilities/input-pointer-drag-start/example.animl +17 -0
  596. package/modules/input/capabilities/input-pointer-enable/example.ani +32 -0
  597. package/modules/input/capabilities/input-pointer-enable/example.animl +7 -0
  598. package/modules/input/capabilities/input-touch-page-scroll/example.ani +32 -0
  599. package/modules/input/capabilities/input-touch-page-scroll/example.animl +7 -0
  600. package/modules/input/capabilities/input-trackpad-scroll/example.ani +32 -0
  601. package/modules/input/capabilities/input-trackpad-scroll/example.animl +7 -0
  602. package/modules/input/capabilities/input-wheel-scroll/example.ani +32 -0
  603. package/modules/input/capabilities/input-wheel-scroll/example.animl +7 -0
  604. package/modules/input/capabilities/input-write-key-pressed/example.ani +39 -0
  605. package/modules/input/capabilities/input-write-key-pressed/example.animl +7 -0
  606. package/modules/input/capabilities/input-write-pointer-delta-x/example.ani +39 -0
  607. package/modules/input/capabilities/input-write-pointer-delta-x/example.animl +7 -0
  608. package/modules/input/capabilities/input-write-pointer-delta-y/example.ani +39 -0
  609. package/modules/input/capabilities/input-write-pointer-delta-y/example.animl +7 -0
  610. package/modules/input/capabilities/input-write-pointer-x/example.ani +39 -0
  611. package/modules/input/capabilities/input-write-pointer-x/example.animl +7 -0
  612. package/modules/input/capabilities/input-write-pointer-y/example.ani +39 -0
  613. package/modules/input/capabilities/input-write-pointer-y/example.animl +7 -0
  614. package/modules/input/capabilities/transforms-collapse/example.ani +39 -0
  615. package/modules/input/capabilities/transforms-collapse/example.animl +9 -0
  616. package/modules/input/capabilities/transforms-solo/example.ani +48 -0
  617. package/modules/input/capabilities/transforms-solo/example.animl +10 -0
  618. package/modules/input/core/commands.source +64 -0
  619. package/modules/input/core/types.source +97 -0
  620. package/modules/input/examples/README.md +9 -0
  621. package/modules/input/examples/drag-slider.ani +50 -0
  622. package/modules/input/examples/drag-slider.animl +11 -0
  623. package/modules/input/manifest.source +98 -0
  624. package/modules/layout/SPEC.md +210 -0
  625. package/modules/layout/capabilities/data-bind-layout/example.ani +60 -0
  626. package/modules/layout/capabilities/data-bind-layout/example.animl +10 -0
  627. package/modules/layout/capabilities/layout-alignment/example.ani +44 -0
  628. package/modules/layout/capabilities/layout-alignment/example.animl +6 -0
  629. package/modules/layout/capabilities/layout-animated-reflow/example.ani +62 -0
  630. package/modules/layout/capabilities/layout-animated-reflow/example.animl +12 -0
  631. package/modules/layout/capabilities/layout-containers/example.ani +62 -0
  632. package/modules/layout/capabilities/layout-containers/example.animl +9 -0
  633. package/modules/layout/capabilities/layout-fill-sizing/example.ani +45 -0
  634. package/modules/layout/capabilities/layout-fill-sizing/example.animl +6 -0
  635. package/modules/layout/capabilities/layout-fixed-sizing/example.ani +46 -0
  636. package/modules/layout/capabilities/layout-fixed-sizing/example.animl +6 -0
  637. package/modules/layout/capabilities/layout-flex-align-items/example.ani +43 -0
  638. package/modules/layout/capabilities/layout-flex-align-items/example.animl +6 -0
  639. package/modules/layout/capabilities/layout-flex-direction/example.ani +43 -0
  640. package/modules/layout/capabilities/layout-flex-direction/example.animl +6 -0
  641. package/modules/layout/capabilities/layout-flex-justify/example.ani +42 -0
  642. package/modules/layout/capabilities/layout-flex-justify/example.animl +6 -0
  643. package/modules/layout/capabilities/layout-hug-sizing/example.ani +42 -0
  644. package/modules/layout/capabilities/layout-hug-sizing/example.animl +6 -0
  645. package/modules/layout/capabilities/layout-intrinsic/example.ani +40 -0
  646. package/modules/layout/capabilities/layout-intrinsic/example.animl +6 -0
  647. package/modules/layout/capabilities/layout-paint/example.ani +60 -0
  648. package/modules/layout/capabilities/layout-paint/example.animl +8 -0
  649. package/modules/layout/capabilities/layout-participants/example.ani +40 -0
  650. package/modules/layout/capabilities/layout-participants/example.animl +6 -0
  651. package/modules/layout/capabilities/layout-self-alignment/example.ani +45 -0
  652. package/modules/layout/capabilities/layout-self-alignment/example.animl +6 -0
  653. package/modules/layout/capabilities/layout-size-bounds/example.ani +49 -0
  654. package/modules/layout/capabilities/layout-size-bounds/example.animl +6 -0
  655. package/modules/layout/capabilities/layout-spacing/example.ani +45 -0
  656. package/modules/layout/capabilities/layout-spacing/example.animl +6 -0
  657. package/modules/layout/capabilities/layout-visibility/example.ani +56 -0
  658. package/modules/layout/capabilities/layout-visibility/example.animl +7 -0
  659. package/modules/layout/examples/button.ani +61 -0
  660. package/modules/layout/examples/button.animl +12 -0
  661. package/modules/layout/examples/reflow.ani +62 -0
  662. package/modules/layout/examples/reflow.animl +12 -0
  663. package/modules/layout/examples/wrapped.ani +55 -0
  664. package/modules/layout/examples/wrapped.animl +11 -0
  665. package/modules/layout/manifest.source +73 -0
  666. package/modules/lists/SPEC.md +44 -0
  667. package/modules/lists/capabilities/components-explicit-context/example.ani +81 -0
  668. package/modules/lists/capabilities/components-explicit-context/example.animl +22 -0
  669. package/modules/lists/capabilities/components-inherited-context/example.ani +99 -0
  670. package/modules/lists/capabilities/components-inherited-context/example.animl +24 -0
  671. package/modules/lists/capabilities/components-list/example.ani +77 -0
  672. package/modules/lists/capabilities/components-list/example.animl +19 -0
  673. package/modules/lists/capabilities/components-list-map/example.ani +116 -0
  674. package/modules/lists/capabilities/components-list-map/example.animl +29 -0
  675. package/modules/lists/capabilities/components-list-size-override/example.ani +83 -0
  676. package/modules/lists/capabilities/components-list-size-override/example.animl +20 -0
  677. package/modules/lists/capabilities/data-binding-relative/example.ani +77 -0
  678. package/modules/lists/capabilities/data-binding-relative/example.animl +19 -0
  679. package/modules/lists/capabilities/data-converter-number-to-list/example.ani +109 -0
  680. package/modules/lists/capabilities/data-converter-number-to-list/example.animl +29 -0
  681. package/modules/lists/capabilities/data-property-symbol-list-index/example.ani +77 -0
  682. package/modules/lists/capabilities/data-property-symbol-list-index/example.animl +19 -0
  683. package/modules/lists/examples/players.ani +77 -0
  684. package/modules/lists/examples/players.animl +19 -0
  685. package/modules/lists/manifest.source +43 -0
  686. package/modules/machine/capabilities/state-machine-any-state/example.ani +62 -0
  687. package/modules/machine/capabilities/state-machine-any-state/example.animl +22 -0
  688. package/modules/machine/capabilities/state-machine-blend-1d-data/example.ani +74 -0
  689. package/modules/machine/capabilities/state-machine-blend-1d-data/example.animl +23 -0
  690. package/modules/machine/capabilities/state-machine-blend-1d-input/example.ani +70 -0
  691. package/modules/machine/capabilities/state-machine-blend-1d-input/example.animl +23 -0
  692. package/modules/machine/capabilities/state-machine-blend-additive/example.ani +69 -0
  693. package/modules/machine/capabilities/state-machine-blend-additive/example.animl +23 -0
  694. package/modules/machine/capabilities/state-machine-blend-direct/example.ani +64 -0
  695. package/modules/machine/capabilities/state-machine-blend-direct/example.animl +21 -0
  696. package/modules/machine/capabilities/state-machine-blend-exit-clock/example.ani +72 -0
  697. package/modules/machine/capabilities/state-machine-blend-exit-clock/example.animl +25 -0
  698. package/modules/machine/capabilities/state-machine-blend-weight-constant/example.ani +64 -0
  699. package/modules/machine/capabilities/state-machine-blend-weight-constant/example.animl +21 -0
  700. package/modules/machine/capabilities/state-machine-blend-weight-data/example.ani +71 -0
  701. package/modules/machine/capabilities/state-machine-blend-weight-data/example.animl +23 -0
  702. package/modules/machine/capabilities/state-machine-blend-weight-input/example.ani +69 -0
  703. package/modules/machine/capabilities/state-machine-blend-weight-input/example.animl +23 -0
  704. package/modules/machine/capabilities/state-machine-condition-artboard/example.ani +50 -0
  705. package/modules/machine/capabilities/state-machine-condition-artboard/example.animl +13 -0
  706. package/modules/machine/capabilities/state-machine-condition-component/example.ani +76 -0
  707. package/modules/machine/capabilities/state-machine-condition-component/example.animl +19 -0
  708. package/modules/machine/capabilities/state-machine-condition-data/example.ani +54 -0
  709. package/modules/machine/capabilities/state-machine-condition-data/example.animl +15 -0
  710. package/modules/machine/capabilities/state-machine-condition-focus/example.ani +49 -0
  711. package/modules/machine/capabilities/state-machine-condition-focus/example.animl +13 -0
  712. package/modules/machine/capabilities/state-machine-continue-on-exit/example.ani +58 -0
  713. package/modules/machine/capabilities/state-machine-continue-on-exit/example.animl +21 -0
  714. package/modules/machine/capabilities/state-machine-entry-state/example.ani +56 -0
  715. package/modules/machine/capabilities/state-machine-entry-state/example.animl +19 -0
  716. package/modules/machine/capabilities/state-machine-exit-state/example.ani +46 -0
  717. package/modules/machine/capabilities/state-machine-exit-state/example.animl +15 -0
  718. package/modules/machine/capabilities/state-machine-exit-time-relative/example.ani +52 -0
  719. package/modules/machine/capabilities/state-machine-exit-time-relative/example.animl +19 -0
  720. package/modules/machine/capabilities/state-machine-literal-asset/example.ani +62 -0
  721. package/modules/machine/capabilities/state-machine-literal-asset/example.animl +18 -0
  722. package/modules/machine/capabilities/state-machine-literal-boolean/example.ani +53 -0
  723. package/modules/machine/capabilities/state-machine-literal-boolean/example.animl +15 -0
  724. package/modules/machine/capabilities/state-machine-literal-color/example.ani +54 -0
  725. package/modules/machine/capabilities/state-machine-literal-color/example.animl +15 -0
  726. package/modules/machine/capabilities/state-machine-literal-enum/example.ani +54 -0
  727. package/modules/machine/capabilities/state-machine-literal-enum/example.animl +15 -0
  728. package/modules/machine/capabilities/state-machine-literal-string/example.ani +54 -0
  729. package/modules/machine/capabilities/state-machine-literal-string/example.animl +15 -0
  730. package/modules/machine/capabilities/state-machine-literal-trigger/example.ani +53 -0
  731. package/modules/machine/capabilities/state-machine-literal-trigger/example.animl +15 -0
  732. package/modules/machine/capabilities/state-machine-state-entry-actions/example.ani +56 -0
  733. package/modules/machine/capabilities/state-machine-state-entry-actions/example.animl +16 -0
  734. package/modules/machine/capabilities/state-machine-state-exit-actions/example.ani +56 -0
  735. package/modules/machine/capabilities/state-machine-state-exit-actions/example.animl +16 -0
  736. package/modules/machine/capabilities/state-machine-state-random/example.ani +53 -0
  737. package/modules/machine/capabilities/state-machine-state-random/example.animl +17 -0
  738. package/modules/machine/capabilities/state-machine-state-reset/example.ani +52 -0
  739. package/modules/machine/capabilities/state-machine-state-reset/example.animl +18 -0
  740. package/modules/machine/capabilities/state-machine-transition-actions/example.ani +56 -0
  741. package/modules/machine/capabilities/state-machine-transition-actions/example.animl +16 -0
  742. package/modules/machine/capabilities/state-machine-transition-disabled/example.ani +57 -0
  743. package/modules/machine/capabilities/state-machine-transition-disabled/example.animl +19 -0
  744. package/modules/machine/capabilities/state-machine-transition-duration-relative/example.ani +57 -0
  745. package/modules/machine/capabilities/state-machine-transition-duration-relative/example.animl +21 -0
  746. package/modules/machine/capabilities/state-machine-transition-end-actions/example.ani +56 -0
  747. package/modules/machine/capabilities/state-machine-transition-end-actions/example.animl +16 -0
  748. package/modules/machine/capabilities/state-machine-transition-random-weight/example.ani +53 -0
  749. package/modules/machine/capabilities/state-machine-transition-random-weight/example.animl +17 -0
  750. package/modules/machine/examples/README.md +12 -0
  751. package/modules/machine/examples/blend-pulse.ani +115 -0
  752. package/modules/machine/examples/blend-pulse.animl +32 -0
  753. package/modules/machine/manifest.source +73 -0
  754. package/modules/markup/manifest.source +26 -0
  755. package/modules/markup-animation/manifest.source +23 -0
  756. package/modules/markup-hooks/manifest.source +13 -0
  757. package/modules/markup-libraries/SPEC.md +56 -0
  758. package/modules/markup-libraries/capabilities/components-library-export/example.ani +45 -0
  759. package/modules/markup-libraries/capabilities/components-library-export/example.animl +4 -0
  760. package/modules/markup-libraries/capabilities/components-library-models/example.ani +45 -0
  761. package/modules/markup-libraries/capabilities/components-library-models/example.animl +4 -0
  762. package/modules/markup-libraries/capabilities/components-library-update/example.ani +45 -0
  763. package/modules/markup-libraries/capabilities/components-library-update/example.animl +4 -0
  764. package/modules/markup-libraries/manifest.source +38 -0
  765. package/modules/media/manifest.source +21 -0
  766. package/modules/mesh/capabilities/rigging-mesh/example.ani +50 -0
  767. package/modules/mesh/capabilities/rigging-mesh/example.animl +9 -0
  768. package/modules/mesh/capabilities/rigging-mesh-animation/example.ani +65 -0
  769. package/modules/mesh/capabilities/rigging-mesh-animation/example.animl +15 -0
  770. package/modules/mesh/examples/flag.ani +108 -0
  771. package/modules/mesh/examples/flag.animl +23 -0
  772. package/modules/mesh/manifest.source +37 -0
  773. package/modules/mix/capabilities/drawing-paint-additive-strength/example.ani +34 -0
  774. package/modules/mix/capabilities/drawing-paint-additive-strength/example.animl +4 -0
  775. package/modules/mix/capabilities/drawing-paint-blend-additive/example.ani +33 -0
  776. package/modules/mix/capabilities/drawing-paint-blend-additive/example.animl +4 -0
  777. package/modules/mix/capabilities/drawing-paint-paint-blend-override/example.ani +37 -0
  778. package/modules/mix/capabilities/drawing-paint-paint-blend-override/example.animl +4 -0
  779. package/modules/mix/capabilities/host-api-factory/example.ani +16 -0
  780. package/modules/mix/capabilities/host-api-factory/example.animl +3 -0
  781. package/modules/mix/capabilities/host-api-renderer/example.ani +16 -0
  782. package/modules/mix/capabilities/host-api-renderer/example.animl +3 -0
  783. package/modules/mix/manifest.source +36 -0
  784. package/modules/motion/capabilities/animation-cubic-value/example.ani +40 -0
  785. package/modules/motion/capabilities/animation-cubic-value/example.animl +9 -0
  786. package/modules/motion/capabilities/animation-elastic-in/example.ani +40 -0
  787. package/modules/motion/capabilities/animation-elastic-in/example.animl +9 -0
  788. package/modules/motion/capabilities/animation-elastic-in-out/example.ani +40 -0
  789. package/modules/motion/capabilities/animation-elastic-in-out/example.animl +9 -0
  790. package/modules/motion/capabilities/animation-host-loop-override/example.ani +28 -0
  791. package/modules/motion/capabilities/animation-host-loop-override/example.animl +6 -0
  792. package/modules/motion/capabilities/animation-host-play-pause-stop/example.ani +28 -0
  793. package/modules/motion/capabilities/animation-host-play-pause-stop/example.animl +6 -0
  794. package/modules/motion/capabilities/animation-keys-reference/example.ani +55 -0
  795. package/modules/motion/capabilities/animation-keys-reference/example.animl +12 -0
  796. package/modules/motion/capabilities/animation-keys-signed-integer/example.ani +46 -0
  797. package/modules/motion/capabilities/animation-keys-signed-integer/example.animl +11 -0
  798. package/modules/motion/capabilities/animation-keys-string/example.ani +46 -0
  799. package/modules/motion/capabilities/animation-keys-string/example.animl +11 -0
  800. package/modules/motion/capabilities/animation-keys-unsigned-integer/example.ani +46 -0
  801. package/modules/motion/capabilities/animation-keys-unsigned-integer/example.animl +11 -0
  802. package/modules/motion/capabilities/animation-mix-discrete/example.ani +38 -0
  803. package/modules/motion/capabilities/animation-mix-discrete/example.animl +9 -0
  804. package/modules/motion/capabilities/animation-mix-numeric/example.ani +42 -0
  805. package/modules/motion/capabilities/animation-mix-numeric/example.animl +11 -0
  806. package/modules/motion/capabilities/animation-quantized-playback/example.ani +41 -0
  807. package/modules/motion/capabilities/animation-quantized-playback/example.animl +9 -0
  808. package/modules/motion/capabilities/animation-reverse/example.ani +47 -0
  809. package/modules/motion/capabilities/animation-reverse/example.animl +12 -0
  810. package/modules/motion/capabilities/animation-seek/example.ani +28 -0
  811. package/modules/motion/capabilities/animation-seek/example.animl +6 -0
  812. package/modules/motion/capabilities/animation-work-area/example.ani +42 -0
  813. package/modules/motion/capabilities/animation-work-area/example.animl +9 -0
  814. package/modules/motion/capabilities/data-bind-keyframes/example.ani +52 -0
  815. package/modules/motion/capabilities/data-bind-keyframes/example.animl +15 -0
  816. package/modules/motion/capabilities/host-api-animation-metadata/example.ani +31 -0
  817. package/modules/motion/capabilities/host-api-animation-metadata/example.animl +6 -0
  818. package/modules/motion/capabilities/host-api-low-level-animation/example.ani +28 -0
  819. package/modules/motion/capabilities/host-api-low-level-animation/example.animl +6 -0
  820. package/modules/motion/capabilities/host-api-low-level-scene-query/example.ani +41 -0
  821. package/modules/motion/capabilities/host-api-low-level-scene-query/example.animl +9 -0
  822. package/modules/motion/capabilities/host-api-multi-state-machine/example.ani +62 -0
  823. package/modules/motion/capabilities/host-api-multi-state-machine/example.animl +22 -0
  824. package/modules/motion/capabilities/host-api-scrub/example.ani +29 -0
  825. package/modules/motion/capabilities/host-api-scrub/example.animl +6 -0
  826. package/modules/motion/capabilities/state-machine-exit-time-seconds/example.ani +60 -0
  827. package/modules/motion/capabilities/state-machine-exit-time-seconds/example.animl +15 -0
  828. package/modules/motion/capabilities/transforms-origin-animation/example.ani +45 -0
  829. package/modules/motion/capabilities/transforms-origin-animation/example.animl +10 -0
  830. package/modules/motion/examples/README.md +42 -0
  831. package/modules/motion/examples/data-keys.ani +52 -0
  832. package/modules/motion/examples/data-keys.animl +15 -0
  833. package/modules/motion/examples/evidence/hover.jsonl +8 -0
  834. package/modules/motion/examples/evidence/phase.jsonl +9 -0
  835. package/modules/motion/examples/evidence/reduced.jsonl +6 -0
  836. package/modules/motion/examples/evidence/rest.jsonl +1 -0
  837. package/modules/motion/examples/evidence/spin.jsonl +6 -0
  838. package/modules/motion/examples/evidence/stop.jsonl +10 -0
  839. package/modules/motion/examples/evidence/sweep.jsonl +26 -0
  840. package/modules/motion/examples/scripts/hover.txt +21 -0
  841. package/modules/motion/examples/scripts/phase.txt +28 -0
  842. package/modules/motion/examples/scripts/reduced.txt +16 -0
  843. package/modules/motion/examples/scripts/rest.txt +2 -0
  844. package/modules/motion/examples/scripts/spin.txt +14 -0
  845. package/modules/motion/examples/scripts/stop.txt +26 -0
  846. package/modules/motion/examples/scripts/sweep.txt +71 -0
  847. package/modules/motion/examples/sync.ani +272 -0
  848. package/modules/motion/examples/sync.animl +64 -0
  849. package/modules/motion/examples/verify.py +71 -0
  850. package/modules/motion/manifest.source +67 -0
  851. package/modules/nested/SPEC.md +79 -0
  852. package/modules/nested/capabilities/components-leaf-fit/example.ani +50 -0
  853. package/modules/nested/capabilities/components-leaf-fit/example.animl +9 -0
  854. package/modules/nested/capabilities/components-nested-quantize/example.ani +65 -0
  855. package/modules/nested/capabilities/components-nested-quantize/example.animl +15 -0
  856. package/modules/nested/capabilities/components-nested-remap/example.ani +65 -0
  857. package/modules/nested/capabilities/components-nested-remap/example.animl +15 -0
  858. package/modules/nested/capabilities/components-stateful-output/example.ani +51 -0
  859. package/modules/nested/capabilities/components-stateful-output/example.animl +12 -0
  860. package/modules/nested/capabilities/data-property-artboard/example.ani +63 -0
  861. package/modules/nested/capabilities/data-property-artboard/example.animl +14 -0
  862. package/modules/nested/capabilities/state-machine-literal-artboard/example.ani +76 -0
  863. package/modules/nested/capabilities/state-machine-literal-artboard/example.animl +19 -0
  864. package/modules/nested/examples/component-guard.ani +76 -0
  865. package/modules/nested/examples/component-guard.animl +19 -0
  866. package/modules/nested/examples/controls.ani +100 -0
  867. package/modules/nested/examples/controls.animl +21 -0
  868. package/modules/nested/manifest.source +39 -0
  869. package/modules/paint/capabilities/drawing-paint-gradient-angular/example.ani +33 -0
  870. package/modules/paint/capabilities/drawing-paint-gradient-angular/example.animl +8 -0
  871. package/modules/paint/capabilities/drawing-paint-gradient-transform/example.ani +34 -0
  872. package/modules/paint/capabilities/drawing-paint-gradient-transform/example.animl +8 -0
  873. package/modules/paint/capabilities/drawing-paint-image-fit-resize/example.ani +49 -0
  874. package/modules/paint/capabilities/drawing-paint-image-fit-resize/example.animl +12 -0
  875. package/modules/paint/capabilities/drawing-paint-image-wrap-clamp/example.ani +50 -0
  876. package/modules/paint/capabilities/drawing-paint-image-wrap-clamp/example.animl +12 -0
  877. package/modules/paint/capabilities/drawing-paint-image-wrap-mirror/example.ani +50 -0
  878. package/modules/paint/capabilities/drawing-paint-image-wrap-mirror/example.animl +12 -0
  879. package/modules/paint/capabilities/drawing-paint-image-wrap-repeat/example.ani +50 -0
  880. package/modules/paint/capabilities/drawing-paint-image-wrap-repeat/example.animl +12 -0
  881. package/modules/paint/manifest.source +77 -0
  882. package/modules/pathfollow/capabilities/rigging-follow-path/example.ani +16 -0
  883. package/modules/pathfollow/capabilities/rigging-follow-path/example.animl +7 -0
  884. package/modules/pathfollow/capabilities/rigging-list-follow-path/example.ani +16 -0
  885. package/modules/pathfollow/capabilities/rigging-list-follow-path/example.animl +9 -0
  886. package/modules/pathfollow/examples/orbit.ani +130 -0
  887. package/modules/pathfollow/examples/orbit.animl +17 -0
  888. package/modules/pathfollow/manifest.source +35 -0
  889. package/modules/posepad/examples/look.ani +124 -0
  890. package/modules/posepad/examples/look.animl +22 -0
  891. package/modules/posepad/manifest.source +43 -0
  892. package/modules/rig/AUTHORING.md +24 -0
  893. package/modules/rig/capabilities/rigging-bone-chains/example.ani +61 -0
  894. package/modules/rig/capabilities/rigging-bone-chains/example.animl +22 -0
  895. package/modules/rig/capabilities/rigging-constraint-order/example.ani +123 -0
  896. package/modules/rig/capabilities/rigging-constraint-order/example.animl +33 -0
  897. package/modules/rig/capabilities/rigging-constraint-strength/example.ani +105 -0
  898. package/modules/rig/capabilities/rigging-constraint-strength/example.animl +28 -0
  899. package/modules/rig/capabilities/rigging-distance-closer/example.ani +160 -0
  900. package/modules/rig/capabilities/rigging-distance-closer/example.animl +44 -0
  901. package/modules/rig/capabilities/rigging-distance-exact/example.ani +160 -0
  902. package/modules/rig/capabilities/rigging-distance-exact/example.animl +44 -0
  903. package/modules/rig/capabilities/rigging-distance-further/example.ani +160 -0
  904. package/modules/rig/capabilities/rigging-distance-further/example.animl +44 -0
  905. package/modules/rig/capabilities/rigging-root-bones/example.ani +63 -0
  906. package/modules/rig/capabilities/rigging-root-bones/example.animl +22 -0
  907. package/modules/rig/capabilities/rigging-rotation/example.ani +143 -0
  908. package/modules/rig/capabilities/rigging-rotation/example.animl +32 -0
  909. package/modules/rig/capabilities/rigging-scale/example.ani +144 -0
  910. package/modules/rig/capabilities/rigging-scale/example.animl +32 -0
  911. package/modules/rig/capabilities/rigging-transform/example.ani +132 -0
  912. package/modules/rig/capabilities/rigging-transform/example.animl +30 -0
  913. package/modules/rig/capabilities/rigging-translation/example.ani +248 -0
  914. package/modules/rig/capabilities/rigging-translation/example.animl +54 -0
  915. package/modules/rig/examples/arm.ani +120 -0
  916. package/modules/rig/examples/arm.animl +29 -0
  917. package/modules/rig/manifest.source +55 -0
  918. package/modules/scroll/capabilities/rigging-scroll/example.ani +16 -0
  919. package/modules/scroll/capabilities/rigging-scroll/example.animl +11 -0
  920. package/modules/scroll/examples/list.ani +115 -0
  921. package/modules/scroll/examples/list.animl +15 -0
  922. package/modules/scroll/manifest.source +31 -0
  923. package/modules/skin/capabilities/rigging-cubic-weights/example.ani +66 -0
  924. package/modules/skin/capabilities/rigging-cubic-weights/example.animl +17 -0
  925. package/modules/skin/capabilities/rigging-skin/example.ani +165 -0
  926. package/modules/skin/capabilities/rigging-skin/example.animl +33 -0
  927. package/modules/skin/capabilities/rigging-weights/example.ani +147 -0
  928. package/modules/skin/capabilities/rigging-weights/example.animl +37 -0
  929. package/modules/skin/examples/sleeve.ani +91 -0
  930. package/modules/skin/examples/sleeve.animl +14 -0
  931. package/modules/skin/manifest.source +41 -0
  932. package/modules/surface/manifest.source +52 -0
  933. package/modules/text/SPEC.md +269 -0
  934. package/modules/text/capabilities/data-bind-text/example.ani +63 -0
  935. package/modules/text/capabilities/data-bind-text/example.animl +8 -0
  936. package/modules/text/capabilities/data-property-text-style/example.ani +63 -0
  937. package/modules/text/capabilities/data-property-text-style/example.animl +8 -0
  938. package/modules/text/capabilities/host-api-nested-text-run/example.ani +44 -0
  939. package/modules/text/capabilities/host-api-nested-text-run/example.animl +10 -0
  940. package/modules/text/capabilities/host-api-text-run/example.ani +27 -0
  941. package/modules/text/capabilities/host-api-text-run/example.animl +6 -0
  942. package/modules/text/capabilities/text-fit-baseline/example.ani +30 -0
  943. package/modules/text/capabilities/text-fit-baseline/example.animl +6 -0
  944. package/modules/text/capabilities/text-fit-layout-measure/example.ani +30 -0
  945. package/modules/text/capabilities/text-fit-layout-measure/example.animl +6 -0
  946. package/modules/text/capabilities/text-flatten/example.ani +16 -0
  947. package/modules/text/capabilities/text-flatten/example.animl +6 -0
  948. package/modules/text/capabilities/text-font-size/example.ani +59 -0
  949. package/modules/text/capabilities/text-font-size/example.animl +15 -0
  950. package/modules/text/capabilities/text-horizontal-alignment/example.ani +28 -0
  951. package/modules/text/capabilities/text-horizontal-alignment/example.animl +6 -0
  952. package/modules/text/capabilities/text-line-spacing/example.ani +28 -0
  953. package/modules/text/capabilities/text-line-spacing/example.animl +6 -0
  954. package/modules/text/capabilities/text-origin/example.ani +32 -0
  955. package/modules/text/capabilities/text-origin/example.animl +6 -0
  956. package/modules/text/capabilities/text-overflow-clipped/example.ani +29 -0
  957. package/modules/text/capabilities/text-overflow-clipped/example.animl +6 -0
  958. package/modules/text/capabilities/text-overflow-ellipsis/example.ani +29 -0
  959. package/modules/text/capabilities/text-overflow-ellipsis/example.animl +6 -0
  960. package/modules/text/capabilities/text-overflow-fit/example.ani +29 -0
  961. package/modules/text/capabilities/text-overflow-fit/example.animl +6 -0
  962. package/modules/text/capabilities/text-overflow-fit-font-size/example.ani +29 -0
  963. package/modules/text/capabilities/text-overflow-fit-font-size/example.animl +6 -0
  964. package/modules/text/capabilities/text-overflow-hidden/example.ani +29 -0
  965. package/modules/text/capabilities/text-overflow-hidden/example.animl +7 -0
  966. package/modules/text/capabilities/text-overflow-visible/example.ani +29 -0
  967. package/modules/text/capabilities/text-overflow-visible/example.animl +6 -0
  968. package/modules/text/capabilities/text-paint/example.ani +30 -0
  969. package/modules/text/capabilities/text-paint/example.animl +6 -0
  970. package/modules/text/capabilities/text-paragraph-spacing/example.ani +28 -0
  971. package/modules/text/capabilities/text-paragraph-spacing/example.animl +7 -0
  972. package/modules/text/capabilities/text-rich-runs/example.ani +34 -0
  973. package/modules/text/capabilities/text-rich-runs/example.animl +8 -0
  974. package/modules/text/capabilities/text-run-list/example.ani +59 -0
  975. package/modules/text/capabilities/text-run-list/example.animl +7 -0
  976. package/modules/text/capabilities/text-script-hit-testing/example.ani +47 -0
  977. package/modules/text/capabilities/text-script-hit-testing/example.animl +10 -0
  978. package/modules/text/capabilities/text-sizing-auto-height/example.ani +28 -0
  979. package/modules/text/capabilities/text-sizing-auto-height/example.animl +6 -0
  980. package/modules/text/capabilities/text-sizing-auto-width/example.ani +27 -0
  981. package/modules/text/capabilities/text-sizing-auto-width/example.animl +6 -0
  982. package/modules/text/capabilities/text-sizing-fixed/example.ani +26 -0
  983. package/modules/text/capabilities/text-sizing-fixed/example.animl +6 -0
  984. package/modules/text/capabilities/text-style-reference/example.ani +31 -0
  985. package/modules/text/capabilities/text-style-reference/example.animl +7 -0
  986. package/modules/text/capabilities/text-tracking/example.ani +28 -0
  987. package/modules/text/capabilities/text-tracking/example.animl +6 -0
  988. package/modules/text/capabilities/text-vertical-alignment/example.ani +28 -0
  989. package/modules/text/capabilities/text-vertical-alignment/example.animl +6 -0
  990. package/modules/text/capabilities/text-vertical-trim/example.ani +29 -0
  991. package/modules/text/capabilities/text-vertical-trim/example.animl +6 -0
  992. package/modules/text/capabilities/text-word-break/example.ani +28 -0
  993. package/modules/text/capabilities/text-word-break/example.animl +6 -0
  994. package/modules/text/capabilities/text-wrap/example.ani +28 -0
  995. package/modules/text/capabilities/text-wrap/example.animl +6 -0
  996. package/modules/text/manifest.source +92 -0
  997. package/modules/text-effects/SPEC.md +134 -0
  998. package/modules/text-effects/capabilities/text-background/example.ani +32 -0
  999. package/modules/text-effects/capabilities/text-background/example.animl +7 -0
  1000. package/modules/text-effects/capabilities/text-modifier-follow-path/example.ani +34 -0
  1001. package/modules/text-effects/capabilities/text-modifier-follow-path/example.animl +8 -0
  1002. package/modules/text-effects/capabilities/text-modifier-opacity/example.ani +34 -0
  1003. package/modules/text-effects/capabilities/text-modifier-opacity/example.animl +8 -0
  1004. package/modules/text-effects/capabilities/text-modifier-origin/example.ani +36 -0
  1005. package/modules/text-effects/capabilities/text-modifier-origin/example.animl +8 -0
  1006. package/modules/text-effects/capabilities/text-modifier-rotation/example.ani +34 -0
  1007. package/modules/text-effects/capabilities/text-modifier-rotation/example.animl +8 -0
  1008. package/modules/text-effects/capabilities/text-modifier-scale/example.ani +35 -0
  1009. package/modules/text-effects/capabilities/text-modifier-scale/example.animl +8 -0
  1010. package/modules/text-effects/capabilities/text-modifier-translation/example.ani +35 -0
  1011. package/modules/text-effects/capabilities/text-modifier-translation/example.animl +8 -0
  1012. package/modules/text-effects/capabilities/text-modifier-variation/example.ani +36 -0
  1013. package/modules/text-effects/capabilities/text-modifier-variation/example.animl +8 -0
  1014. package/modules/text-effects/capabilities/text-range-combine/example.ani +47 -0
  1015. package/modules/text-effects/capabilities/text-range-combine/example.animl +11 -0
  1016. package/modules/text-effects/capabilities/text-range-easing/example.ani +38 -0
  1017. package/modules/text-effects/capabilities/text-range-easing/example.animl +8 -0
  1018. package/modules/text-effects/capabilities/text-range-falloff/example.ani +37 -0
  1019. package/modules/text-effects/capabilities/text-range-falloff/example.animl +8 -0
  1020. package/modules/text-effects/capabilities/text-range-run/example.ani +37 -0
  1021. package/modules/text-effects/capabilities/text-range-run/example.animl +8 -0
  1022. package/modules/text-effects/capabilities/text-range-units/example.ani +37 -0
  1023. package/modules/text-effects/capabilities/text-range-units/example.animl +8 -0
  1024. package/modules/text-effects/capabilities/text-script-direction/example.ani +30 -0
  1025. package/modules/text-effects/capabilities/text-script-direction/example.animl +7 -0
  1026. package/modules/text-effects/examples/title-wave.ani +68 -0
  1027. package/modules/text-effects/examples/title-wave.animl +15 -0
  1028. package/modules/text-effects/manifest.source +58 -0
  1029. package/modules/text-input/SPEC.md +189 -0
  1030. package/modules/text-input/capabilities/text-input-placeholder/example.ani +16 -0
  1031. package/modules/text-input/capabilities/text-input-placeholder/example.animl +13 -0
  1032. package/modules/text-input/capabilities/text-input-selection/example.ani +66 -0
  1033. package/modules/text-input/capabilities/text-input-selection/example.animl +13 -0
  1034. package/modules/text-input/examples/search-card.ani +195 -0
  1035. package/modules/text-input/examples/search-card.animl +49 -0
  1036. package/modules/text-input/examples/search.txt +6 -0
  1037. package/modules/text-input/manifest.source +79 -0
  1038. package/modules/tooling/capabilities/tooling-benchmark/example.ani +16 -0
  1039. package/modules/tooling/capabilities/tooling-benchmark/example.animl +13 -0
  1040. package/modules/tooling/capabilities/tooling-data-breakpoints/example.ani +75 -0
  1041. package/modules/tooling/capabilities/tooling-data-breakpoints/example.animl +13 -0
  1042. package/modules/tooling/capabilities/tooling-data-debugger/example.ani +16 -0
  1043. package/modules/tooling/capabilities/tooling-data-debugger/example.animl +13 -0
  1044. package/modules/tooling/capabilities/tooling-headless-command-session/example.ani +16 -0
  1045. package/modules/tooling/capabilities/tooling-headless-command-session/example.animl +13 -0
  1046. package/modules/tooling/capabilities/tooling-headless-data/example.ani +16 -0
  1047. package/modules/tooling/capabilities/tooling-headless-data/example.animl +13 -0
  1048. package/modules/tooling/capabilities/tooling-headless-data-dump/example.ani +16 -0
  1049. package/modules/tooling/capabilities/tooling-headless-data-dump/example.animl +13 -0
  1050. package/modules/tooling/capabilities/tooling-headless-data-filter/example.ani +16 -0
  1051. package/modules/tooling/capabilities/tooling-headless-data-filter/example.animl +13 -0
  1052. package/modules/tooling/capabilities/tooling-headless-data-stream/example.ani +16 -0
  1053. package/modules/tooling/capabilities/tooling-headless-data-stream/example.animl +13 -0
  1054. package/modules/tooling/capabilities/tooling-headless-gamepad/example.ani +16 -0
  1055. package/modules/tooling/capabilities/tooling-headless-gamepad/example.animl +13 -0
  1056. package/modules/tooling/capabilities/tooling-headless-key/example.ani +16 -0
  1057. package/modules/tooling/capabilities/tooling-headless-key/example.animl +13 -0
  1058. package/modules/tooling/capabilities/tooling-headless-pointer/example.ani +16 -0
  1059. package/modules/tooling/capabilities/tooling-headless-pointer/example.animl +13 -0
  1060. package/modules/tooling/capabilities/tooling-headless-touch/example.ani +16 -0
  1061. package/modules/tooling/capabilities/tooling-headless-touch/example.animl +13 -0
  1062. package/modules/tooling/capabilities/tooling-headless-wheel/example.ani +16 -0
  1063. package/modules/tooling/capabilities/tooling-headless-wheel/example.animl +13 -0
  1064. package/modules/tooling/capabilities/tooling-seed/example.ani +76 -0
  1065. package/modules/tooling/capabilities/tooling-seed/example.animl +21 -0
  1066. package/modules/tooling/capabilities/tooling-test-assertions/example.ani +16 -0
  1067. package/modules/tooling/capabilities/tooling-test-assertions/example.animl +13 -0
  1068. package/modules/tooling/examples/agent-tools.ani +75 -0
  1069. package/modules/tooling/examples/agent-tools.animl +13 -0
  1070. package/modules/tooling/manifest.source +15 -0
  1071. package/package.json +58 -4
  1072. package/packages/cli/package.json +4 -0
  1073. package/packages/cli/src/asset-info.d.ts +8 -0
  1074. package/packages/cli/src/asset-info.js +122 -0
  1075. package/packages/cli/src/assets.d.ts +8 -0
  1076. package/packages/cli/src/assets.js +66 -0
  1077. package/packages/cli/src/audio.d.ts +3 -0
  1078. package/packages/cli/src/audio.js +77 -0
  1079. package/packages/cli/src/bench.d.ts +32 -0
  1080. package/packages/cli/src/bench.js +46 -0
  1081. package/packages/cli/src/build-assets.d.ts +10 -0
  1082. package/packages/cli/src/build-assets.js +139 -0
  1083. package/packages/cli/src/bundle.d.ts +7 -0
  1084. package/packages/cli/src/bundle.js +53 -0
  1085. package/packages/cli/src/cli.d.ts +19 -0
  1086. package/packages/cli/src/cli.js +1532 -0
  1087. package/packages/cli/src/commands.d.ts +47 -0
  1088. package/packages/cli/src/commands.js +608 -0
  1089. package/packages/cli/src/compare-png.d.ts +21 -0
  1090. package/packages/cli/src/compare-png.js +39 -0
  1091. package/packages/cli/src/compare.d.ts +7 -0
  1092. package/packages/cli/src/compare.js +84 -0
  1093. package/packages/cli/src/completion.d.ts +2 -0
  1094. package/packages/cli/src/completion.js +153 -0
  1095. package/packages/cli/src/discover/api.d.ts +55 -0
  1096. package/packages/cli/src/discover/api.js +185 -0
  1097. package/packages/cli/src/discover/build.d.ts +14 -0
  1098. package/packages/cli/src/discover/build.js +590 -0
  1099. package/packages/cli/src/discover/synonyms.d.ts +1 -0
  1100. package/packages/cli/src/discover/synonyms.js +68 -0
  1101. package/packages/cli/src/docs-view.d.ts +4 -0
  1102. package/packages/cli/src/docs-view.js +279 -0
  1103. package/packages/cli/src/doctor.d.ts +11 -0
  1104. package/packages/cli/src/doctor.js +151 -0
  1105. package/packages/cli/src/encode.d.ts +9 -0
  1106. package/packages/cli/src/encode.js +100 -0
  1107. package/packages/cli/src/font/README.md +45 -0
  1108. package/packages/cli/src/font/binary.d.ts +8 -0
  1109. package/packages/cli/src/font/binary.js +54 -0
  1110. package/packages/cli/src/font/browser.d.ts +4 -0
  1111. package/packages/cli/src/font/browser.js +54 -0
  1112. package/packages/cli/src/font/cff.d.ts +6 -0
  1113. package/packages/cli/src/font/cff.js +154 -0
  1114. package/packages/cli/src/font/container.d.ts +5 -0
  1115. package/packages/cli/src/font/container.js +97 -0
  1116. package/packages/cli/src/font/document.d.ts +28 -0
  1117. package/packages/cli/src/font/document.js +143 -0
  1118. package/packages/cli/src/font/features.d.ts +1 -0
  1119. package/packages/cli/src/font/features.js +1 -0
  1120. package/packages/cli/src/font/flatten.d.ts +5 -0
  1121. package/packages/cli/src/font/flatten.js +146 -0
  1122. package/packages/cli/src/font/import.d.ts +12 -0
  1123. package/packages/cli/src/font/import.js +92 -0
  1124. package/packages/cli/src/font/index.d.ts +8 -0
  1125. package/packages/cli/src/font/index.js +27 -0
  1126. package/packages/cli/src/font/measure.d.ts +37 -0
  1127. package/packages/cli/src/font/measure.js +131 -0
  1128. package/packages/cli/src/font/reader.d.ts +13 -0
  1129. package/packages/cli/src/font/reader.js +26 -0
  1130. package/packages/cli/src/font/subset.d.ts +6 -0
  1131. package/packages/cli/src/font/subset.js +87 -0
  1132. package/packages/cli/src/font/svg.d.ts +3 -0
  1133. package/packages/cli/src/font/svg.js +109 -0
  1134. package/packages/cli/src/font/truetype.d.ts +3 -0
  1135. package/packages/cli/src/font/truetype.js +38 -0
  1136. package/packages/cli/src/font/variation.d.ts +1 -0
  1137. package/packages/cli/src/font/variation.js +1 -0
  1138. package/packages/cli/src/font/woff2.d.ts +3 -0
  1139. package/packages/cli/src/font/woff2.js +166 -0
  1140. package/packages/cli/src/glyphs.d.ts +5 -0
  1141. package/packages/cli/src/glyphs.js +59 -0
  1142. package/packages/cli/src/help.d.ts +5 -0
  1143. package/packages/cli/src/help.js +149 -0
  1144. package/packages/cli/src/html.d.ts +5 -0
  1145. package/packages/cli/src/html.js +119 -0
  1146. package/packages/cli/src/import-lottie.d.ts +2 -0
  1147. package/packages/cli/src/import-lottie.js +274 -0
  1148. package/packages/cli/src/import-svg.d.ts +8 -0
  1149. package/packages/cli/src/import-svg.js +300 -0
  1150. package/packages/cli/src/index.d.ts +1 -0
  1151. package/packages/cli/src/index.js +4 -0
  1152. package/packages/cli/src/inspect-summary.d.ts +7 -0
  1153. package/packages/cli/src/inspect-summary.js +158 -0
  1154. package/packages/cli/src/library.d.ts +6 -0
  1155. package/packages/cli/src/library.js +67 -0
  1156. package/packages/cli/src/locate.d.ts +13 -0
  1157. package/packages/cli/src/locate.js +118 -0
  1158. package/packages/cli/src/main.d.ts +2 -0
  1159. package/packages/cli/src/main.js +13 -0
  1160. package/packages/cli/src/playground.d.ts +11 -0
  1161. package/packages/cli/src/playground.js +169 -0
  1162. package/packages/cli/src/project.d.ts +15 -0
  1163. package/packages/cli/src/project.js +160 -0
  1164. package/packages/cli/src/render-options.d.ts +6 -0
  1165. package/packages/cli/src/render-options.js +40 -0
  1166. package/packages/cli/src/render.d.ts +30 -0
  1167. package/packages/cli/src/render.js +90 -0
  1168. package/packages/cli/src/scaffold.d.ts +17 -0
  1169. package/packages/cli/src/scaffold.js +96 -0
  1170. package/packages/cli/src/schema-view.d.ts +9 -0
  1171. package/packages/cli/src/schema-view.js +493 -0
  1172. package/packages/cli/src/session.d.ts +8 -0
  1173. package/packages/cli/src/session.js +96 -0
  1174. package/packages/cli/src/suggest.d.ts +3 -0
  1175. package/packages/cli/src/suggest.js +62 -0
  1176. package/packages/cli/src/video.d.ts +2 -0
  1177. package/packages/cli/src/video.js +73 -0
  1178. package/packages/core/src/script.source +897 -0
  1179. package/spec/ANIML.md +598 -0
  1180. package/spec/MODULES.md +406 -0
  1181. package/spec/SPEC.md +4083 -0
@@ -0,0 +1,69 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "focus-condition",
4
+ "grid": 20,
5
+ "requires": ["a11y", "focus", "input", "machine"],
6
+ "nodes": [
7
+ {
8
+ "id": "parent",
9
+ "type": "group",
10
+ "children": [
11
+ {
12
+ "id": "child",
13
+ "type": "group",
14
+ "children": [],
15
+ "a11y": {
16
+ "role": "button",
17
+ "bounds": [1, 2, 3, 4]
18
+ }
19
+ }
20
+ ],
21
+ "focus": {},
22
+ "a11y": {
23
+ "role": "group",
24
+ "bounds": [1, 2, 3, 4]
25
+ }
26
+ }
27
+ ],
28
+ "machine": {
29
+ "layers": {
30
+ "l": {
31
+ "initial": "idle",
32
+ "states": {
33
+ "idle": {
34
+ "pose": {},
35
+ "on": [
36
+ {
37
+ "when": "@after(0)",
38
+ "to": "focused",
39
+ "guard": {
40
+ "left": {
41
+ "focus": "parent"
42
+ },
43
+ "right": true,
44
+ "op": "=="
45
+ }
46
+ }
47
+ ]
48
+ },
49
+ "focused": {
50
+ "pose": {},
51
+ "on": [
52
+ {
53
+ "when": "@after(0)",
54
+ "to": "idle",
55
+ "guard": {
56
+ "left": {
57
+ "focus": "parent"
58
+ },
59
+ "right": false,
60
+ "op": "=="
61
+ }
62
+ }
63
+ ]
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,17 @@
1
+ <anima version="0.1" name="focus-condition" grid="20" requires="a11y focus input machine">
2
+ <group id="parent">
3
+ <focus/>
4
+ <a11y role="group" bounds="1 2 3 4"/>
5
+ <group id="child">
6
+ <a11y role="button" bounds="1 2 3 4"/>
7
+ </group>
8
+ </group>
9
+ <layer name="l" initial="idle">
10
+ <state name="idle">
11
+ <on when="@after(0)" to="focused" guard="{&quot;left&quot;:{&quot;focus&quot;:&quot;parent&quot;},&quot;right&quot;:true,&quot;op&quot;:&quot;==&quot;}"/>
12
+ </state>
13
+ <state name="focused">
14
+ <on when="@after(0)" to="idle" guard="{&quot;left&quot;:{&quot;focus&quot;:&quot;parent&quot;},&quot;right&quot;:false,&quot;op&quot;:&quot;==&quot;}"/>
15
+ </state>
16
+ </layer>
17
+ </anima>
@@ -0,0 +1,47 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "inferred-text",
4
+ "grid": 100,
5
+ "requires": ["assets", "fonts", "text", "a11y"],
6
+ "nodes": [
7
+ {
8
+ "id": "container",
9
+ "type": "group",
10
+ "x": 10,
11
+ "y": 20,
12
+ "children": [
13
+ {
14
+ "id": "label",
15
+ "type": "text",
16
+ "styles": {
17
+ "s": {
18
+ "size": 10
19
+ }
20
+ },
21
+ "runs": [
22
+ {
23
+ "text": "AB",
24
+ "style": "s"
25
+ },
26
+ {
27
+ "text": "C",
28
+ "style": "s"
29
+ }
30
+ ],
31
+ "a11y": {
32
+ "role": "text"
33
+ }
34
+ }
35
+ ],
36
+ "a11y": {
37
+ "role": "group"
38
+ }
39
+ }
40
+ ],
41
+ "assets": {
42
+ "sans-serif": {
43
+ "type": "font",
44
+ "source": "data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMlILSLYAAADsAAAAYGNtYXAAE00IAAABTAAAAHxmdmFygK9pkgAAAcgAAAAsZ2FzcAAAAAsAAAH0AAAACGdseWbmSesPAAAB/AAADdBndmFyzbvBBQAAD8wAAAncaGVhZGE8Q6IAABmoAAAANmhoZWEFrAH6AAAZ4AAAACRobXR49OwUUAAAGgQAAAGka2VybgA+/9QAABuoAAAAGGxvY2EAAtVKAAAbwAAAAahtYXhwAGsABQAAHWgAAAAgbmFtZRSmMFUAAB2IAAABDnBvc3QAAwAAAAAemAAAACAABAJYAZAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQU5JTQDAACD//wMg/zgAZAMgAMgAAAAAAAAAAAH0ArwAAAAAAAAAAAABAAMACgAAAAwADAAAAAAAcAAAAAAAAAAIAAAAIAAAAH4AAAABAAAAwAAAAMAAAABgAAAAyQAAAMkAAABhAAAA6QAAAOkAAABiAAAF0AAABdEAAABjAAAGJwAABigAAABlAAAgJgAAICYAAABoAAH2AAAB9gAAAABnAAEAAAAQAAIAAQAUAAEACHdnaHQAZAAAAZAAAAOEAAAAAAEAAQEAAAK8AAAAAQAB//8ACgABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQB9AADAAABAQEBADIBwgAA/j4AAAAAAfQAAAABADIAAAINAfQAAwAAAQEBAQAyAdsAAP4lAAAAAAH0AAAAAQAyAAABwgH0AAMAAAEBAQEAMgGQAAD+cAAAAAAB9AAAAAEAMgAAAdsB9AADAAABAQEBADIBqQAA/lcAAAAAAfQAAAABADIAAAH0AfQAAwAAAQEBAQAyAcIAAP4+AAAAAAH0AAAAAQAyAAACDQH0AAMAAAEBAQEAMgHbAAD+JQAAAAAB9AAAAAEAMgAAAcIB9AADAAABAQEBADIBkAAA/nAAAAAAAfQAAAABADIAAAHbAfQAAwAAAQEBAQAyAakAAP5XAAAAAAH0AAAAAQAyAAAB9AH0AAMAAAEBAQEAMgHCAAD+PgAAAAAB9AAAAAEAMgAAAg0B9AADAAABAQEBADIB2wAA/iUAAAAAAfQAAAABADIAAAHCAfQAAwAAAQEBAQAyAZAAAP5wAAAAAAH0AAAAAQAyAAAB2wH0AAMAAAEBAQEAMgGpAAD+VwAAAAAB9AAAAAEAMgAAAfQB9AADAAABAQEBADIBwgAA/j4AAAAAAfQAAAABADIAAAINAfQAAwAAAQEBAQAyAdsAAP4lAAAAAAH0AAAAAQAyAAABwgH0AAMAAAEBAQEAMgGQAAD+cAAAAAAB9AAAAAEAMgAAAdsB9AADAAABAQEBADIBqQAA/lcAAAAAAfQAAAABADIAAAH0AfQAAwAAAQEBAQAyAcIAAP4+AAAAAAH0AAAAAQAyAAACDQH0AAMAAAEBAQEAMgHbAAD+JQAAAAAB9AAAAAEAMgAAAcIB9AADAAABAQEBADIBkAAA/nAAAAAAAfQAAAABADIAAAHbAfQAAwAAAQEBAQAyAakAAP5XAAAAAAH0AAAAAQAyAAAB9AH0AAMAAAEBAQEAMgHCAAD+PgAAAAAB9AAAAAEAMgAAAg0B9AADAAABAQEBADIB2wAA/iUAAAAAAfQAAAABADIAAAHCAfQAAwAAAQEBAQAyAZAAAP5wAAAAAAH0AAAAAQAyAAAB2wH0AAMAAAEBAQEAMgGpAAD+VwAAAAAB9AAAAAEAMgAAAfQB9AADAAABAQEBADIBwgAA/j4AAAAAAfQAAAABADIAAAINAfQAAwAAAQEBAQAyAdsAAP4lAAAAAAH0AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAMgAAAdsCvAADAAABAQEBADIBqQAA/lcAAAAAArwAAAABADIAAAH0ArwAAwAAAQEBAQAyAcIAAP4+AAAAAAK8AAAAAQAyAAACDQK8AAMAAAEBAQEAMgHbAAD+JQAAAAACvAAAAAEAMgAAAcICvAADAAABAQEBADIBkAAA/nAAAAAAArwAAAABADIAAAHbArwAAwAAAQEBAQAyAakAAP5XAAAAAAK8AAAAAQAyAAAB9AK8AAMAAAEBAQEAMgHCAAD+PgAAAAACvAAAAAEAMgAAAg0CvAADAAABAQEBADIB2wAA/iUAAAAAArwAAAABADIAAAHCArwAAwAAAQEBAQAyAZAAAP5wAAAAAAK8AAAAAQAyAAAB2wK8AAMAAAEBAQEAMgGpAAD+VwAAAAACvAAAAAEAMgAAAfQCvAADAAABAQEBADIBwgAA/j4AAAAAArwAAAABADIAAAINArwAAwAAAQEBAQAyAdsAAP4lAAAAAAK8AAAAAQAyAAABwgK8AAMAAAEBAQEAMgGQAAD+cAAAAAACvAAAAAEAAAABAAAAAAG8AGkAAQAAAbwAAAAAAAAAFAAAABQAAAAoAAAAPAAAAFAAAABkAAAAeAAAAIwAAACgAAAAtAAAAMgAAADcAAAA8AAAAQQAAAEYAAABLAAAAUAAAAFUAAABaAAAAXwAAAGQAAABpAAAAbgAAAHMAAAB4AAAAfQAAAIIAAACHAAAAjAAAAJEAAACWAAAAmwAAAKAAAAClAAAAqgAAAK8AAAC0AAAAuQAAAL4AAADDAAAAyAAAAM0AAADSAAAA1wAAANwAAADhAAAA5gAAAOsAAADwAAAA9QAAAPoAAAD/AAABBAAAAQkAAAEOAAABEwAAARgAAAEdAAABIgAAAScAAAEsAAABMQAAATYAAAE7AAABQAAAAUUAAAFKAAABTwAAAVQAAAFZAAABXgAAAWMAAAFoAAABbQAAAXIAAAF3AAABfAAAAYEAAAGGAAABiwAAAZAAAAGVAAABmgAAAZ8AAAGkAAABqQAAAa4AAAGzAAABuAAAAb0AAAHCAAABxwAAAcwAAAHRAAAB1gAAAdsAAAHgAAAB5QAAAeoAAAHvAAAB9AAAAfkAAAH+AAACAwAAAggAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAAAAQAAFOPag18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAAAAAACJgK8AAAACAACAAEAAAAAAAEAAAMg/zgAZAJYAAAAAAImAAEAAAAAAAAAAAAAAAAAAABpAlgAMgEsAAACWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAAAAAQAAABQAAQABAAYAAAAAACIAN/+cAAAAAAAAACIAAAAiAAAARAAAAGYAAACIAAAAqgAAAMwAAADuAAABEAAAATIAAAFUAAABdgAAAZgAAAG6AAAB3AAAAf4AAAIgAAACQgAAAmQAAAKGAAACqAAAAsoAAALsAAADDgAAAzAAAANSAAADdAAAA5YAAAO4AAAD2gAAA/wAAAQeAAAEQAAABGIAAASEAAAEpgAABMgAAATqAAAFDAAABS4AAAVQAAAFcgAABZQAAAW2AAAF2AAABfoAAAYcAAAGPgAABmAAAAaCAAAGpAAABsYAAAboAAAHCgAABywAAAdOAAAHcAAAB5IAAAe0AAAH1gAAB/gAAAgaAAAIPAAACF4AAAiAAAAIogAACMQAAAjmAAAJCAAACSoAAAlMAAAJbgAACZAAAAmyAAAJ1AAACfYAAAoYAAAKOgAAClwAAAp+AAAKoAAACsIAAArkAAALBgAACygAAAtKAAALbAAAC44AAAuwAAAL0gAAC/QAAAwWAAAMOAAADFoAAAx8AAAMngAADMAAAAziAAANBAAADSYAAA1IAAANagAADYwAAA2uAAAN0AABAAAAaQAEAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACABmAAMAAQQJAAEAFAAAAAMAAQQJAAIADgAUAAMAAQQJAAMAFgAiAAMAAQQJAAQAJAA4AAMAAQQJAAUAFgBcAAMAAQQJAAYAIgByAAMAAQQJAQAADACUAAMAAQQJAQEACACgAEEAbgBpAG0AYQAgAFQAZQBzAHQAUgBlAGcAdQBsAGEAcgBBAG4AaQBtAGEAVABlAHMAdAAtADEAQQBuAGkAbQBhACAAVABlAHMAdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwAEEAbgBpAG0AYQBUAGUAcwB0AC0AUgBlAGcAdQBsAGEAcgBXAGUAaQBnAGgAdABCAG8AbABkAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,13 @@
1
+ <anima version="0.1" name="inferred-text" grid="100" requires="assets fonts text a11y">
2
+ <asset name="sans-serif" type="font"
3
+ src="data:font/ttf;base64,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ZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAoACoAAQAAHAGRkAAAAAACHAAEACgAKgABAAAcAZGQAAAAAAIcAAQAKAAqAAEAABwBkZAAAAAAAhwABAAAAAQAAFOPag18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAAAAAACJgK8AAAACAACAAEAAAAAAAEAAAMg/zgAZAJYAAAAAAImAAEAAAAAAAAAAAAAAAAAAABpAlgAMgEsAAACWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAlgAMgJYADICWAAyAAAAAQAAABQAAQABAAYAAAAAACIAN/+cAAAAAAAAACIAAAAiAAAARAAAAGYAAACIAAAAqgAAAMwAAADuAAABEAAAATIAAAFUAAABdgAAAZgAAAG6AAAB3AAAAf4AAAIgAAACQgAAAmQAAAKGAAACqAAAAsoAAALsAAADDgAAAzAAAANSAAADdAAAA5YAAAO4AAAD2gAAA/wAAAQeAAAEQAAABGIAAASEAAAEpgAABMgAAATqAAAFDAAABS4AAAVQAAAFcgAABZQAAAW2AAAF2AAABfoAAAYcAAAGPgAABmAAAAaCAAAGpAAABsYAAAboAAAHCgAABywAAAdOAAAHcAAAB5IAAAe0AAAH1gAAB/gAAAgaAAAIPAAACF4AAAiAAAAIogAACMQAAAjmAAAJCAAACSoAAAlMAAAJbgAACZAAAAmyAAAJ1AAACfYAAAoYAAAKOgAAClwAAAp+AAAKoAAACsIAAArkAAALBgAACygAAAtKAAALbAAAC44AAAuwAAAL0gAAC/QAAAwWAAAMOAAADFoAAAx8AAAMngAADMAAAAziAAANBAAADSYAAA1IAAANagAADYwAAA2uAAAN0AABAAAAaQAEAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACABmAAMAAQQJAAEAFAAAAAMAAQQJAAIADgAUAAMAAQQJAAMAFgAiAAMAAQQJAAQAJAA4AAMAAQQJAAUAFgBcAAMAAQQJAAYAIgByAAMAAQQJAQAADACUAAMAAQQJAQEACACgAEEAbgBpAG0AYQAgAFQAZQBzAHQAUgBlAGcAdQBsAGEAcgBBAG4AaQBtAGEAVABlAHMAdAAtADEAQQBuAGkAbQBhACAAVABlAHMAdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwAEEAbgBpAG0AYQBUAGUAcwB0AC0AUgBlAGcAdQBsAGEAcgBXAGUAaQBnAGgAdABCAG8AbABkAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="/>
4
+ <group id="container" x="10" y="20">
5
+ <a11y role="group"/>
6
+ <text id="label">
7
+ <a11y role="text"/>
8
+ <style id="s" size="10"/>
9
+ <run text="AB" style="s"/>
10
+ <run text="C" style="s"/>
11
+ </text>
12
+ </group>
13
+ </anima>
@@ -0,0 +1,26 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "property-heading-level",
4
+ "grid": 20,
5
+ "requires": ["a11y"],
6
+ "inputs": {
7
+ "depth": {
8
+ "type": "number",
9
+ "default": 2,
10
+ "min": 1,
11
+ "max": 6
12
+ }
13
+ },
14
+ "nodes": [
15
+ {
16
+ "id": "item",
17
+ "type": "group",
18
+ "children": [],
19
+ "a11y": {
20
+ "role": "heading",
21
+ "level": "depth",
22
+ "bounds": [1, 2, 3, 4]
23
+ }
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,6 @@
1
+ <anima version="0.1" name="property-heading-level" grid="20" requires="a11y">
2
+ <number name="depth" default="2" min="1" max="6"/>
3
+ <group id="item">
4
+ <a11y role="heading" level="&quot;depth&quot;" bounds="1 2 3 4"/>
5
+ </group>
6
+ </anima>
@@ -0,0 +1,88 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "semantic-bounds",
4
+ "grid": 100,
5
+ "requires": ["a11y"],
6
+ "nodes": [
7
+ {
8
+ "id": "panel",
9
+ "type": "group",
10
+ "x": 10,
11
+ "y": 20,
12
+ "children": [
13
+ {
14
+ "id": "box",
15
+ "type": "rect",
16
+ "x0": 2,
17
+ "y0": 3,
18
+ "w": 4,
19
+ "h": 5,
20
+ "fill": {
21
+ "color": "#000"
22
+ },
23
+ "a11y": {
24
+ "role": "img",
25
+ "label": "Box"
26
+ }
27
+ },
28
+ {
29
+ "id": "offset",
30
+ "type": "group",
31
+ "x": -5,
32
+ "y": 2,
33
+ "children": [
34
+ {
35
+ "id": "paint",
36
+ "type": "rect",
37
+ "x0": 1,
38
+ "y0": 1,
39
+ "w": 2,
40
+ "h": 2,
41
+ "fill": {
42
+ "color": "#000"
43
+ }
44
+ }
45
+ ]
46
+ }
47
+ ],
48
+ "a11y": {
49
+ "role": "group",
50
+ "label": "Panel"
51
+ }
52
+ },
53
+ {
54
+ "id": "explicit",
55
+ "type": "group",
56
+ "x": 40,
57
+ "children": [
58
+ {
59
+ "id": "outside",
60
+ "type": "rect",
61
+ "x0": 20,
62
+ "y0": 20,
63
+ "w": 2,
64
+ "h": 2,
65
+ "fill": {
66
+ "color": "#000"
67
+ }
68
+ }
69
+ ],
70
+ "a11y": {
71
+ "role": "group",
72
+ "label": "Explicit",
73
+ "bounds": [0, 0, 1, 1]
74
+ }
75
+ },
76
+ {
77
+ "id": "empty",
78
+ "type": "group",
79
+ "x": 50,
80
+ "y": 60,
81
+ "children": [],
82
+ "a11y": {
83
+ "role": "text",
84
+ "label": "Point"
85
+ }
86
+ }
87
+ ]
88
+ }
@@ -0,0 +1,18 @@
1
+ <anima version="0.1" name="semantic-bounds" grid="100" requires="a11y">
2
+ <group id="panel" x="10" y="20">
3
+ <a11y role="group" label="Panel"/>
4
+ <rect id="box" x0="2" y0="3" width="4" height="5" fill="#000">
5
+ <a11y role="img" label="Box"/>
6
+ </rect>
7
+ <group id="offset" x="-5" y="2">
8
+ <rect id="paint" x0="1" y0="1" width="2" height="2" fill="#000"/>
9
+ </group>
10
+ </group>
11
+ <group id="explicit" x="40">
12
+ <a11y role="group" label="Explicit" bounds="0 0 1 1"/>
13
+ <rect id="outside" x0="20" y0="20" width="2" height="2" fill="#000"/>
14
+ </group>
15
+ <group id="empty" x="50" y="60">
16
+ <a11y role="text" label="Point"/>
17
+ </group>
18
+ </anima>
@@ -0,0 +1,16 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "a11y-tree-visibility",
4
+ "grid": 20,
5
+ "nodes": [
6
+ {
7
+ "id": "probe",
8
+ "type": "circle",
9
+ "center": [10, 10],
10
+ "r": 1,
11
+ "fill": {
12
+ "color": "#000"
13
+ }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,4 @@
1
+ <!-- TODO: a11y.tree-visibility; replace this baseline scene with a capability probe. -->
2
+ <anima version="0.1" name="a11y-tree-visibility" grid="20">
3
+ <circle id="probe" cx="10" cy="10" r="1" fill="#000"/>
4
+ </anima>
@@ -0,0 +1,135 @@
1
+ // Tooling only. The player methods are installed by the registered a11y module.
2
+ import type { Player } from '../../../packages/core/src/player.ts';
3
+ import type { Snapshot } from '../../../packages/core/src/script.ts';
4
+ import type { SemanticNode } from './types.ts';
5
+ import { flat } from './tree.ts';
6
+ import { modules } from '../../../packages/core/src/modules.ts';
7
+ import type { textinput as TextInput } from '../../text-input/core/index.ts';
8
+ type TextInputModule = typeof TextInput;
9
+ const spaceDown = new WeakMap<Player, string>();
10
+ export function semanticCommand(
11
+ p: Player,
12
+ command: string,
13
+ args: string[],
14
+ output: unknown[],
15
+ step: (dt: number) => void,
16
+ snapshot: () => Snapshot,
17
+ ): boolean {
18
+ if (['type', 'compose', 'select'].includes(command)) {
19
+ const module = modules.get('textinput') as TextInputModule | undefined;
20
+ const id = p.focused;
21
+ const field = id && module?.field(p, id);
22
+ if (!module || !id || !field) throw Error('text command needs a focused text field');
23
+ if (command === 'select') {
24
+ if (args.length !== 2 || args.some((a) => !/^\d+$/.test(a)))
25
+ throw Error('use select <start> <end> (UTF-16 offsets)');
26
+ module.select(p, id, Number(args[0]), Number(args[1]));
27
+ } else {
28
+ if (args.length !== 1) throw Error('use ' + command + ' "text"');
29
+ let value: string;
30
+ try {
31
+ value = JSON.parse(args[0]!);
32
+ } catch {
33
+ value = args[0]!;
34
+ }
35
+ if (typeof value !== 'string') throw Error('text must be a string');
36
+ const next = field.value.slice(0, field.start) + value + field.value.slice(field.end);
37
+ const caret = field.start + value.length;
38
+ if (command === 'compose') module.edit(p, id, next, caret, caret, true);
39
+ module.edit(p, id, next, caret, caret);
40
+ }
41
+ step(0);
42
+ return true;
43
+ }
44
+ // Semantic controls own native keys; the host leaves them out of generic routing.
45
+ // Mirror that routing in tooling, without adding a browser runtime key policy.
46
+ if (command === 'key' && p.focused && p.model.doc.requires?.includes('a11y')) {
47
+ const tree = p.semantics?.() ?? [];
48
+ const nodes = flat(tree),
49
+ node = nodes.find((n) => n.id === p.focused);
50
+ if (!node) return false;
51
+ if (!['down', 'up', 'repeat'].includes(args[0]!) || args.length < 2 || args.length > 4)
52
+ throw Error('use key down|up|repeat <key|Space> [shift+control+alt+meta|-] [target]');
53
+ const mods = args[2] && args[2] !== '-' ? args[2].split('+') : [];
54
+ if (
55
+ mods.some((m) => !['shift', 'control', 'alt', 'meta'].includes(m)) ||
56
+ new Set(mods).size !== mods.length
57
+ )
58
+ throw Error('unknown or duplicate key modifier');
59
+ if (mods.some((m) => m !== 'shift') || (args[3] && args[3] !== node.id)) return false;
60
+ const key = args[1] === 'Space' ? ' ' : args[1];
61
+ const down = args[0] !== 'up';
62
+ const arrow = ['ArrowRight', 'ArrowUp', 'ArrowLeft', 'ArrowDown'].indexOf(key!);
63
+ const tabs = nodes.find(
64
+ (n) =>
65
+ ['tab-list', 'radio-group'].includes(n.role) && n.children.some((c) => c.id === node.id),
66
+ );
67
+ if (node.role === 'slider' && (arrow >= 0 || key === 'Home' || key === 'End')) {
68
+ if (down && arrow >= 0) p.semanticAction(node.id, arrow < 2 ? 'increase' : 'decrease');
69
+ else if (down) {
70
+ const action = key === 'Home' ? 'decrease' : 'increase';
71
+ // Bound the iteration count: avoid hanging on malformed host trees.
72
+ const count = Math.ceil((node.max! - node.min!) / node.step!) + 1;
73
+ for (let i = 0; i < count && p.semanticAction(node.id, action); i++) step(0);
74
+ }
75
+ } else if (tabs && (arrow >= 0 || key === 'Home' || key === 'End')) {
76
+ if (down) {
77
+ const order = p.focusItems?.().map((n) => n.id);
78
+ const enabled = tabs.children
79
+ .filter((n) => !n.states.disabled)
80
+ .sort((a, b) => (order ? order.indexOf(a.id) - order.indexOf(b.id) : 0));
81
+ const at = enabled.findIndex((n) => n.id === node.id);
82
+ const target =
83
+ key === 'Home'
84
+ ? enabled[0]
85
+ : key === 'End'
86
+ ? enabled.at(-1)
87
+ : enabled[(at + (arrow < 2 ? 1 : -1) + enabled.length) % enabled.length];
88
+ if (target) {
89
+ p.semanticAction(target.id, 'focus');
90
+ if (tabs.role === 'radio-group' && target.states.checked !== true)
91
+ p.semanticAction(target.id, 'tap');
92
+ }
93
+ }
94
+ } else if (
95
+ ['button', 'switch', 'tab', 'checkbox', 'radio', 'link'].includes(node.role) &&
96
+ (key === ' ' || key === 'Enter')
97
+ ) {
98
+ // Space activates on release; links activate only on Enter, checkbox/radio only Space.
99
+ if (key === ' ' && args[0] === 'down') spaceDown.set(p, node.id);
100
+ const activate =
101
+ key === ' '
102
+ ? !down && node.role !== 'link' && spaceDown.get(p) === node.id
103
+ : down && !['checkbox', 'radio'].includes(node.role);
104
+ if (activate && !(node.role === 'radio' && node.states.checked === true))
105
+ p.semanticAction(node.id, 'tap');
106
+ } else if (key === 'Tab') return false;
107
+ if (key === ' ' && !down) spaceDown.delete(p);
108
+ step(0);
109
+ return true;
110
+ }
111
+ if (command === 'snapshot' && args.length === 1 && args[0] === '--semantics') {
112
+ output.push({ ...snapshot(), semantics: p.semantics?.() ?? [] });
113
+ return true;
114
+ }
115
+ if (command !== 'semantics' && command !== 'semantic') return false;
116
+ if (command === 'semantics') {
117
+ if (args.length > 1) throw Error('use semantics [id]');
118
+ const tree = p.semantics?.() ?? [];
119
+ const find = (nodes: SemanticNode[]): SemanticNode | undefined => {
120
+ for (const node of nodes) {
121
+ if (node.id === args[0]) return node;
122
+ const found = find(node.children);
123
+ if (found) return found;
124
+ }
125
+ };
126
+ if (args.length && !find(tree)) throw Error('unknown semantic id "' + args[0] + '"');
127
+ output.push(args.length ? find(tree) : tree);
128
+ } else {
129
+ if (args.length !== 2 || !['tap', 'increase', 'decrease', 'focus'].includes(args[1]!))
130
+ throw Error('use semantic <id> tap|increase|decrease|focus');
131
+ p.semanticAction?.(args[0]!, args[1] as import('./types.ts').SemanticAction);
132
+ step(0);
133
+ }
134
+ return true;
135
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "semantic-contract",
4
+ "grid": 20,
5
+ "requires": ["a11y", "focus"],
6
+ "inputs": {
7
+ "checked": {
8
+ "type": "bool"
9
+ },
10
+ "mixed": {
11
+ "type": "bool",
12
+ "default": true
13
+ },
14
+ "hidden": {
15
+ "type": "bool"
16
+ },
17
+ "volume": {
18
+ "type": "number",
19
+ "default": 40
20
+ }
21
+ },
22
+ "nodes": [
23
+ {
24
+ "id": "settings",
25
+ "type": "group",
26
+ "children": [
27
+ {
28
+ "id": "mute",
29
+ "type": "rect",
30
+ "x0": 1,
31
+ "y0": 2,
32
+ "w": 3,
33
+ "h": 4,
34
+ "fill": {
35
+ "color": "#000"
36
+ },
37
+ "a11y": {
38
+ "role": "checkbox",
39
+ "label": "Mute",
40
+ "checked": "checked",
41
+ "hidden": "hidden",
42
+ "checkedMixed": "mixed",
43
+ "bounds": [1, 2, 3, 4]
44
+ }
45
+ },
46
+ {
47
+ "id": "volume",
48
+ "type": "rect",
49
+ "x0": 5,
50
+ "y0": 6,
51
+ "w": 7,
52
+ "h": 8,
53
+ "fill": {
54
+ "color": "#000"
55
+ },
56
+ "a11y": {
57
+ "role": "slider",
58
+ "label": "Volume",
59
+ "value": "volume",
60
+ "min": 0,
61
+ "max": 100,
62
+ "step": 5,
63
+ "bounds": [5, 6, 7, 8]
64
+ }
65
+ }
66
+ ],
67
+ "a11y": {
68
+ "role": "group",
69
+ "label": "Settings",
70
+ "bounds": [0, 0, 20, 20]
71
+ }
72
+ }
73
+ ]
74
+ }
@@ -0,0 +1,15 @@
1
+ <anima version="0.1" name="semantic-contract" grid="20" requires="a11y focus">
2
+ <bool name="checked"/>
3
+ <bool name="mixed" default="true"/>
4
+ <bool name="hidden"/>
5
+ <number name="volume" default="40"/>
6
+ <group id="settings">
7
+ <a11y role="group" label="Settings" bounds="0 0 20 20"/>
8
+ <rect id="mute" x0="1" y0="2" width="3" height="4" fill="#000">
9
+ <a11y role="checkbox" label="Mute" checked="checked" hidden="hidden" checked-mixed="mixed" bounds="1 2 3 4"/>
10
+ </rect>
11
+ <rect id="volume" x0="5" y0="6" width="7" height="8" fill="#000">
12
+ <a11y role="slider" label="Volume" value="volume" min="0" max="100" step="5" bounds="5 6 7 8"/>
13
+ </rect>
14
+ </group>
15
+ </anima>
@@ -0,0 +1,72 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "focus-ancestor-policy",
4
+ "grid": 100,
5
+ "requires": ["a11y", "focus"],
6
+ "inputs": {
7
+ "hideChild": {
8
+ "type": "bool"
9
+ }
10
+ },
11
+ "nodes": [
12
+ {
13
+ "id": "parent",
14
+ "type": "group",
15
+ "children": [
16
+ {
17
+ "id": "child",
18
+ "type": "rect",
19
+ "x0": 8,
20
+ "y0": 8,
21
+ "w": 4,
22
+ "h": 4,
23
+ "fill": {
24
+ "color": "#111"
25
+ },
26
+ "a11y": {
27
+ "role": "button",
28
+ "label": "child",
29
+ "hidden": "hideChild"
30
+ }
31
+ },
32
+ {
33
+ "id": "sibling",
34
+ "type": "rect",
35
+ "x0": 28,
36
+ "y0": 8,
37
+ "w": 4,
38
+ "h": 4,
39
+ "fill": {
40
+ "color": "#111"
41
+ },
42
+ "a11y": {
43
+ "role": "button",
44
+ "label": "sibling"
45
+ }
46
+ }
47
+ ],
48
+ "focus": {
49
+ "bounds": [8, 8, 24, 4]
50
+ },
51
+ "a11y": {
52
+ "role": "group",
53
+ "label": "parent"
54
+ }
55
+ },
56
+ {
57
+ "id": "outside",
58
+ "type": "rect",
59
+ "x0": 48,
60
+ "y0": 8,
61
+ "w": 4,
62
+ "h": 4,
63
+ "fill": {
64
+ "color": "#111"
65
+ },
66
+ "a11y": {
67
+ "role": "button",
68
+ "label": "outside"
69
+ }
70
+ }
71
+ ]
72
+ }