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,35 @@
1
+ # Native accessible controls
2
+
3
+ Import `@anima-format/web/a11y-dom` (which imports `a11y-actions` and `a11y`).
4
+ Use node `<a11y>` elements or JSON `a11y` objects as described in
5
+ [the core authoring guide](../a11y/AUTHORING.md). No `a11y-dom` format feature is
6
+ needed: the module is browser-only. Import `@anima-format/web/focus` and declare
7
+ `requires="a11y focus"` for logical focus, shared focus targets and manual traversal.
8
+
9
+ ```xml
10
+ <anima version="0.1" name="mute" grid="20" requires="a11y focus">
11
+ <bool name="muted"/>
12
+ <circle id="mute" cx="10" cy="10" r="8" fill="#000">
13
+ <a11y role="checkbox" label="Mute" checked="muted" bounds="2 2 16 16"/>
14
+ </circle>
15
+ </anima>
16
+ ```
17
+
18
+ Paint the control yourself; the overlay stays transparent. Bounds are world-grid
19
+ rectangles transformed through the live SVG viewBox mapping, including fit,
20
+ alignment and host resizing. Native buttons, checkboxes, radios, sliders and links
21
+ supply browser keyboard behavior. Give radios a semantic `radio-group` parent.
22
+ Tab lists add arrows and Home/End; disabled tabs are skipped. The focus module's
23
+ policy participates when loaded. Controls with `readonly` reject actions in core;
24
+ the overlay restores their displayed native value after a rejected action.
25
+
26
+ `icon.semantics` returns a detached tree. `icon.semanticAction(id, action)` invokes
27
+ core and steps/repaints when accepted. `anima:semantics` carries the actual diff
28
+ (`added`, `removed`, `changed`) after a tree change. Manual
29
+ `icon.focusNext()` / `icon.focusPrevious()` invoke the focus module's traversal
30
+ policy and return whether focus changed. The `focus` module must be loaded.
31
+
32
+ For a host-owned interface, set `a11y="off"`; tree APIs and diff events continue
33
+ working. Removing the attribute restores the overlay from the current tree.
34
+ Root document `a11y` remains the existing host-level API; node semantics do not
35
+ rewrite its label, role or activation configuration.
@@ -0,0 +1,165 @@
1
+ # Accessibility DOM overlay
2
+
3
+ The optional `@anima-format/web/a11y-dom` entry imports `a11y-actions` and maps the
4
+ `SemanticNode` forest to native elements in the icon's shadow root. It adds no
5
+ format fields: JSON and AniML use the existing node `a11y` registry and diagnostics
6
+ in [a11y/SPEC.md](../a11y/SPEC.md). It has no core runtime or renderer backend.
7
+ Root document accessibility (SPEC §10) retains its existing behavior. Without this
8
+ entry, neither the semantic DOM nor its observers and step wrapper are installed.
9
+
10
+ ## Elements and state
11
+
12
+ | Semantic role | Native element / role |
13
+ | --- | --- |
14
+ | button, switch, tab | button; switch has role switch and aria-checked |
15
+ | checkbox | input type checkbox; checked=mixed sets indeterminate |
16
+ | radio | input type radio; name is the nearest radio-group id |
17
+ | radio-group | div role radiogroup |
18
+ | slider | input type range with min/max/step and numeric value; valueText sets aria-valuetext independently of numeric value |
19
+ | link | a with href |
20
+ | progressbar, meter | div with matching role and aria-valuemin/max/now/text; missing progressbar value omits aria-valuenow |
21
+ | status | div role status; aria-live polite by default |
22
+ | heading | h1–h6 according to level (default 1) |
23
+ | toolbar, grid, row, gridcell | div with matching role; gridcells are focusable |
24
+ | tab-list, list, list-item | div role tablist, list, listitem |
25
+ | group, dialog, alert-dialog, text, img | div role group, dialog, alertdialog, text, img |
26
+
27
+ Labels use aria-label; hint uses aria-description. Leaf non-input elements also
28
+ carry label text (including live region text). Checked, pressed, selected,
29
+ expanded, disabled, required, readonly, modal and live map to their ARIA attributes.
30
+ Native controls also receive disabled. Missing states remove stale attributes.
31
+ Hidden nodes are absent from the core tree and removed from the DOM with their
32
+ subtrees. Opacity does not remove nodes from the accessibility tree.
33
+
34
+ Every semantic element is absolutely positioned, transparent and has
35
+ `pointer-events: none`. Pointer hit testing reaches the drawing and its listeners;
36
+ semantic controls remain focusable and receive keyboard and assistive-technology
37
+ activation dispatched directly on the element. Native range appearance is removed;
38
+ thumbs and tracks have zero size and no border/background in Chromium and Firefox.
39
+ The drawing owns all visible control ink. World-grid
40
+ bounds map through the live SVG screen matrix relative to the host, including
41
+ viewBox origin, fit, alignment and resizing. Nested elements offset their bounds
42
+ by the semantic parent's world origin. For canvas output, the canvas entry exposes an internal `canvasBox(icon, bounds)` adapter to its
43
+ retained renderer's `nodeBox(bounds)`. It maps resolved world node boxes through the current
44
+ viewport and actual canvas client rectangle, removing backing-pixel ratio from CSS coordinates.
45
+ The overlay derives its world-to-host mapping from that adapter; the canvas entry is optional and
46
+ is not imported at runtime by the overlay. Fit, alignment, resize and pixel-ratio handling stay in
47
+ the canvas backend. This maps the current semantic geometry boxes; exact stroke extents remain an
48
+ open part of `a11y.tree-bounds`.
49
+
50
+ Native click/input/change events invoke semanticAction. Radios use change, so
51
+ activating an already-checked radio does not toggle it off. A range target is reached through
52
+ core increase/decrease actions until reached, clamped or no progress is possible;
53
+ there is no independent input write or toggle policy. Rejected readonly actions
54
+ restore the native displayed state. Native keyboard behavior handles buttons,
55
+ checkboxes, radios, ranges and links. Events within the semantic overlay do not
56
+ also trigger root-level keyboard or drawn pointer handlers.
57
+
58
+ Tabs use native buttons with role tab: Enter activates on key down and Space on
59
+ key up through the same tap action as assistive-technology clicks. Focus alone does
60
+ not select a tab (manual activation). An author can opt into automatic activation
61
+ by adding a node `focus` listener that fires the same selection trigger as
62
+ `a11y.activate` (requires `focus`), for example
63
+ `<listener on="focus" target="week" fire="pickWeek"/>`. Selection triggers can update
64
+ a shared selected-index data value and derive each tab's `selected` state; arrow
65
+ roving and selection remain independent.
66
+
67
+ Tab-list and radio-group supply keyboard roving: arrows move between enabled direct children,
68
+ wrapping at the edge, Home/End choose the first/last. Current DOM focus takes
69
+ precedence over selection for the one tab stop; otherwise the selected tab or checked radio, then first enabled
70
+ child is used. Radio arrows select through semanticAction; tabs retain manual activation. When focus is loaded, its item ordering participates; focusing the chosen tab
71
+ synchronizes logical focus directly without a second traversal. The host input
72
+ capture handler leaves semantic keys to these native controls, so each key has
73
+ one routing owner. A child control action does not also activate a semantic parent;
74
+ a noninteractive semantic child still delegates to its enclosing control.
75
+ This uses host routing guards; neither the overlay nor host stops
76
+ DOM propagation. Ancestor page listeners receive keyboard and pointer events, and
77
+ Anima calls `preventDefault()` only when its handling consumes the browser default.
78
+ Tab navigation is
79
+ left to the browser. Controls relations use unique semantic ids within the host shadow root,
80
+ matching the prefixed ids in the shared tree; hidden target nodes remain absent.
81
+
82
+ ## Updates and focus
83
+
84
+ After each step of an attached host player, the module compares the old and new
85
+ forests with player.semanticDiff. Added elements are created; removed elements are
86
+ deleted; changed nodes update attributes/properties in place. A tag change replaces
87
+ the element; stable tags retain identity. Child order/parent changes move retained
88
+ elements only when needed. A parent's changed bounds also adjust descendant offsets.
89
+ An unchanged tree does not rebuild elements or dispatch a semantics event.
90
+
91
+ With focus loaded, existing semantic elements serve as focus targets. The focus
92
+ module creates its original small proxies only for targets without semantic nodes;
93
+ semantic nodes omitted from the active overlay have no duplicate proxy. Native
94
+ focus calls semanticAction(id, 'focus'); logical focus calls focus() on the same
95
+ element. Blur leaving the host clears logical focus. The focus module continues to
96
+ own inner-tab-stop and single-entry/exit policy. Topology and overlay-policy changes
97
+ refresh its target map through the internal anima:overlay event.
98
+
99
+ ## Host API and lifecycle
100
+
101
+ - `icon.semantics`: read-only getter returning a detached SemanticNode forest.
102
+ - `icon.semanticAction(id, action)`: returns the core action result; accepted actions
103
+ step(0) and repaint through the same host path as scheduled steps, dispatching all
104
+ resulting `anima:event` (including dotted component events) and `anima:state` notifications. Unless explicitly paused, an accepted action also wakes the host
105
+ so queued machine entry actions and ongoing animation can finish without the focus module. Unknown ids/unavailable actions return false.
106
+ - `anima:semantics`: CustomEvent whose detail is the actual SemanticDiff, emitted
107
+ after a changed tree is applied, including while the overlay is disabled.
108
+ - `a11y="off"`: removes semantic elements. Logical APIs/events continue. Removing
109
+ the attribute restores the current tree. This adds no document-format spelling.
110
+ - `icon.focusNext()` / `icon.focusPrevious()`: the optional focus web entry exposes
111
+ these direct calls to focusTraverse(next/previous); return false without a player.
112
+
113
+ Reload/destroy restore the previous player step method and remove observers and
114
+ elements. Late module loading attaches existing icons; future loadModel calls also
115
+ attach, including asynchronous asset completion. A document without node a11y keeps
116
+ its existing host accessibility behavior.
117
+
118
+ ## Evidence and rationale
119
+
120
+ The browser is the oracle for this layer: both engines exercise native events and
121
+ locator.ariaSnapshot() exposes actual browser accessibility roles/states. There is
122
+ no faithful local Rive headless counterpart to a shadow-DOM overlay, so its oracle
123
+ rows have explicit skip dispositions in REPORT.md. No Player.step output changes
124
+ are introduced: this module consumes the existing tree and action contract.
125
+
126
+ This independent implementation follows the browser-binding decision in
127
+ DESIGN §3.4 and the size/lifecycle observations in
128
+ [the web-runtime research](../../docs/research/rive-web-runtime.md) (§§2, 7, 8).
129
+ It uses browser controls and Anima's existing diff/focus policies; no Rive code or
130
+ CLI documentation text was copied.
131
+
132
+ With the optional `a11y-text` entry, the same overlay consumes inferred text labels and measured
133
+ layout bounds as specified in [a11y/TEXT.md](../a11y/TEXT.md). Renderer rebuilds restore the layer
134
+ without advancing the player.
135
+
136
+ ## Optional toolbar and grid navigation
137
+
138
+ Import `@anima-format/web/a11y-navigation` (includes `a11y-dom`) for native roving
139
+ on these roles. This separate entry keeps the base overlay within its fixed budget.
140
+ A toolbar contains direct semantic controls; a grid contains direct semantic rows,
141
+ each containing direct gridcells. Hidden descendants are absent; disabled or
142
+ focus-ineligible controls/cells are skipped. Structural containers are not tab stops.
143
+ Each toolbar/grid has one tab stop: the currently focused enabled item, or the first
144
+ enabled item. Tab/Shift+Tab leave the composite using browser navigation.
145
+
146
+ Toolbar item order follows the focus module's ordering when installed, otherwise
147
+ semantic child order. Toolbar Left/Right and Up/Down move in item order and wrap, matching the tab-list
148
+ policy in both orientations. Home/End choose the first/last enabled item. Focus
149
+ does not activate a control. Grid Left/Right move among enabled cells in the current
150
+ row. Up/Down keep the authored column index in the immediately adjacent semantic
151
+ row; if that row or an enabled cell at that column is missing, focus stays put.
152
+ Home/End choose the first/last enabled cell in the row; Ctrl+Home/End choose the
153
+ first/last enabled cell of the whole grid. Gridcells are implicit focus targets
154
+ with the focus module, and remain native tab targets without it.
155
+
156
+ Horizontal row edges use the row's existing `focus.edge`: `stop` (default) retains
157
+ focus, `closed-loop` wraps within that row, and `parent-scope` delegates to the
158
+ focus module's existing spatial traversal in the enclosing scope. Vertical grid
159
+ edges retain focus. Handled navigation keys prevent the browser scrolling default.
160
+ Page Up/Down always bubble unprevented for page-owned calendar/month navigation.
161
+ Other modified shortcuts also pass through (except grid Ctrl+Home/End).
162
+
163
+ Focus availability is independent of semantic visibility. A disabled focus scope
164
+ keeps its role and semantic subtree in the accessibility tree; eligible descendants
165
+ still focus and rove. Only semantic hidden/invisible state removes the subtree.
@@ -0,0 +1,28 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "mute",
4
+ "grid": 20,
5
+ "requires": ["a11y", "focus"],
6
+ "inputs": {
7
+ "muted": {
8
+ "type": "bool"
9
+ }
10
+ },
11
+ "nodes": [
12
+ {
13
+ "id": "mute",
14
+ "type": "circle",
15
+ "center": [10, 10],
16
+ "r": 8,
17
+ "fill": {
18
+ "color": "#000"
19
+ },
20
+ "a11y": {
21
+ "role": "checkbox",
22
+ "label": "Mute",
23
+ "checked": "muted",
24
+ "bounds": [2, 2, 16, 16]
25
+ }
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,6 @@
1
+ <anima version="0.1" name="mute" grid="20" requires="a11y focus">
2
+ <bool name="muted"/>
3
+ <circle id="mute" cx="10" cy="10" r="8" fill="#000">
4
+ <a11y role="checkbox" label="Mute" checked="muted" bounds="2 2 16 16"/>
5
+ </circle>
6
+ </anima>
@@ -0,0 +1,152 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "navigation",
4
+ "grid": 20,
5
+ "requires": ["a11y", "focus"],
6
+ "inputs": {
7
+ "bold": {
8
+ "type": "bool"
9
+ }
10
+ },
11
+ "nodes": [
12
+ {
13
+ "id": "tools",
14
+ "type": "group",
15
+ "children": [
16
+ {
17
+ "id": "bold",
18
+ "type": "rect",
19
+ "x0": 1,
20
+ "y0": 1,
21
+ "w": 4,
22
+ "h": 4,
23
+ "fill": {
24
+ "color": "#000"
25
+ },
26
+ "a11y": {
27
+ "role": "button",
28
+ "label": "Bold",
29
+ "pressed": "bold"
30
+ }
31
+ },
32
+ {
33
+ "id": "help",
34
+ "type": "rect",
35
+ "x0": 6,
36
+ "y0": 1,
37
+ "w": 4,
38
+ "h": 4,
39
+ "fill": {
40
+ "color": "#000"
41
+ },
42
+ "a11y": {
43
+ "role": "button",
44
+ "label": "Help"
45
+ }
46
+ }
47
+ ],
48
+ "a11y": {
49
+ "role": "toolbar",
50
+ "label": "Formatting"
51
+ }
52
+ },
53
+ {
54
+ "id": "dates",
55
+ "type": "group",
56
+ "children": [
57
+ {
58
+ "id": "week1",
59
+ "type": "group",
60
+ "children": [
61
+ {
62
+ "id": "day1",
63
+ "type": "rect",
64
+ "x0": 1,
65
+ "y0": 7,
66
+ "w": 4,
67
+ "h": 4,
68
+ "fill": {
69
+ "color": "#000"
70
+ },
71
+ "a11y": {
72
+ "role": "gridcell",
73
+ "label": "1"
74
+ }
75
+ },
76
+ {
77
+ "id": "day2",
78
+ "type": "rect",
79
+ "x0": 6,
80
+ "y0": 7,
81
+ "w": 4,
82
+ "h": 4,
83
+ "fill": {
84
+ "color": "#000"
85
+ },
86
+ "a11y": {
87
+ "role": "gridcell",
88
+ "label": "2"
89
+ }
90
+ }
91
+ ],
92
+ "a11y": {
93
+ "role": "row"
94
+ },
95
+ "focus": {
96
+ "enabled": false,
97
+ "scope": true,
98
+ "edge": "closed-loop"
99
+ }
100
+ },
101
+ {
102
+ "id": "week2",
103
+ "type": "group",
104
+ "children": [
105
+ {
106
+ "id": "day3",
107
+ "type": "rect",
108
+ "x0": 1,
109
+ "y0": 12,
110
+ "w": 4,
111
+ "h": 4,
112
+ "fill": {
113
+ "color": "#000"
114
+ },
115
+ "a11y": {
116
+ "role": "gridcell",
117
+ "label": "3"
118
+ }
119
+ },
120
+ {
121
+ "id": "day4",
122
+ "type": "rect",
123
+ "x0": 6,
124
+ "y0": 12,
125
+ "w": 4,
126
+ "h": 4,
127
+ "fill": {
128
+ "color": "#000"
129
+ },
130
+ "a11y": {
131
+ "role": "gridcell",
132
+ "label": "4"
133
+ }
134
+ }
135
+ ],
136
+ "a11y": {
137
+ "role": "row"
138
+ },
139
+ "focus": {
140
+ "enabled": false,
141
+ "scope": true,
142
+ "edge": "closed-loop"
143
+ }
144
+ }
145
+ ],
146
+ "a11y": {
147
+ "role": "grid",
148
+ "label": "Dates"
149
+ }
150
+ }
151
+ ]
152
+ }
@@ -0,0 +1,35 @@
1
+ <anima version="0.1" name="navigation" grid="20" requires="a11y focus">
2
+ <bool name="bold"/>
3
+ <group id="tools">
4
+ <a11y role="toolbar" label="Formatting"/>
5
+ <rect id="bold" x0="1" y0="1" width="4" height="4" fill="#000">
6
+ <a11y role="button" label="Bold" pressed="bold"/>
7
+ </rect>
8
+ <rect id="help" x0="6" y0="1" width="4" height="4" fill="#000">
9
+ <a11y role="button" label="Help"/>
10
+ </rect>
11
+ </group>
12
+ <group id="dates">
13
+ <a11y role="grid" label="Dates"/>
14
+ <group id="week1">
15
+ <a11y role="row"/>
16
+ <focus enabled="false" scope="true" edge="closed-loop"/>
17
+ <rect id="day1" x0="1" y0="7" width="4" height="4" fill="#000">
18
+ <a11y role="gridcell" label="1"/>
19
+ </rect>
20
+ <rect id="day2" x0="6" y0="7" width="4" height="4" fill="#000">
21
+ <a11y role="gridcell" label="2"/>
22
+ </rect>
23
+ </group>
24
+ <group id="week2">
25
+ <a11y role="row"/>
26
+ <focus enabled="false" scope="true" edge="closed-loop"/>
27
+ <rect id="day3" x0="1" y0="12" width="4" height="4" fill="#000">
28
+ <a11y role="gridcell" label="3"/>
29
+ </rect>
30
+ <rect id="day4" x0="6" y0="12" width="4" height="4" fill="#000">
31
+ <a11y role="gridcell" label="4"/>
32
+ </rect>
33
+ </group>
34
+ </group>
35
+ </anima>
@@ -0,0 +1,22 @@
1
+ export const after = ['a11y-actions'];
2
+ export default {
3
+ name: 'a11y-dom',
4
+ summary:
5
+ 'Browser entry: mirrors the semantic tree as real ARIA elements inside <anima-icon> for screen readers.',
6
+ after,
7
+ web: [
8
+ { name: 'a11y-dom', budget: 2176, over: 'a11y-actions' },
9
+ { name: 'a11y-navigation', budget: 1536, over: 'a11y-dom' },
10
+ ],
11
+ adapters: {
12
+ 'packages/web/src/a11y-dom.ts': 'web/index.ts',
13
+ 'packages/web/src/a11y-navigation.ts': 'web/navigation.ts',
14
+ },
15
+ exports: {
16
+ 'web:./a11y-dom': 'packages/web/src/a11y-dom.ts',
17
+ 'web:./a11y-navigation': 'packages/web/src/a11y-navigation.ts',
18
+ },
19
+ tests: ['modules/a11y-dom/test/**/*.test.ts'],
20
+ conformance: [],
21
+ docs: ['modules/a11y-dom/SPEC.md'],
22
+ };
@@ -0,0 +1,16 @@
1
+ # Asset host IO
2
+
3
+ Internal split of the assets browser entry: source resolution, policy and image preloading.
4
+ `@anima-format/web/assets` imports this entry automatically; no additional `requires` token
5
+ or document fields. Core remains pure and DOM-free. The independent byte budget measures
6
+ this IO separately; assets is measured over assetio. This follows the optional host consumer
7
+ boundary in [web research](../../docs/research/rive-web-runtime.md) §1.
8
+
9
+ Asset I/O composes a previously installed `AnimaIcon.loadAssets` loader rather than replacing it.
10
+ This preserves font preloading when the fonts entry arrives first. All composed loaders finish
11
+ before scene instantiation. No font decoding policy lives in assetio; it remains in fonts.
12
+
13
+ Successful browser resource loading returns a player initializer to the base web host. Each host's
14
+ resolved catalog is attached to its own root, nested and repeated players before drawing, including
15
+ players created after initialization. Compiled model reuse never replaces another host's catalog.
16
+ The initial records are shared read-only; resource replacement installs a player-local copy.
@@ -0,0 +1,12 @@
1
+ export default {
2
+ name: 'assetio',
3
+ summary:
4
+ 'Browser entry: image source resolution, loading policy and preloading for the assets feature.',
5
+ after: [],
6
+ web: [{ name: 'assetio', budget: 768 }],
7
+ adapters: { 'packages/web/src/assetio.ts': 'web/index.ts' },
8
+ exports: { 'web:./assetio': 'packages/web/src/assetio.ts' },
9
+ tests: ['modules/assets/test/**/*.test.ts', 'modules/fonts/test/web/fonts.test.ts'],
10
+ conformance: [],
11
+ docs: ['modules/assetio/SPEC.md'],
12
+ };
@@ -0,0 +1,23 @@
1
+ # Assets contract index
2
+
3
+ The normative contract is [spec/SPEC.md](../../spec/SPEC.md), chapters **assets**, **P5b asset
4
+ pipeline** and **Image wrapping (P5b)**. AniML field descriptors and JSON shapes live in
5
+ core/index.ts; source maps to src. Media byte access lives in modules/media; playback clips live
6
+ in modules/events. Sampling is optional paint-sampling/SVG or Canvas, never added to image-only
7
+ or audio-free entry points.
8
+
9
+ P5b-7 changes no declaration shape or deterministic player semantics. It supplies nearest clamp
10
+ edge extension, Canvas bilinear clamp and command-scoped CLI codec ownership. SVG combinations
11
+ without a faithful form report unsupported-render as specified in the normative chapter.
12
+
13
+ Evidence and native limitations are in REPORT.md and probes/row-dispositions.json. A native
14
+ skip describes a missing observation route; it is not evidence of native equality. Historical
15
+ failure measurements and all oracle limits remain unchanged.
16
+
17
+ ## Data image resource selection
18
+
19
+ An image's discrete string `asset` slot can be bound to an image data property with `data bind`.
20
+ The JSON field and AniML name are both `asset`; `<bind target="pic.asset" value="$picture"/>`
21
+ uses the same slot as a JSON binding object. Rendering resolves a player-local replacement
22
+ catalog before model resources. An unavailable or non-image runtime ID uses the authored image
23
+ as a deterministic fallback; authored unknown/non-image assets retain their existing diagnostics.
@@ -0,0 +1,60 @@
1
+ {
2
+ "anima": "0.1",
3
+ "name": "assets-audio",
4
+ "grid": 24,
5
+ "requires": ["assets", "paint", "events"],
6
+ "nodes": [
7
+ {
8
+ "id": "photo",
9
+ "type": "image",
10
+ "x0": 0,
11
+ "y0": 0,
12
+ "asset": "photo",
13
+ "width": 4,
14
+ "height": 4
15
+ }
16
+ ],
17
+ "timelines": {
18
+ "resize": {
19
+ "duration": 1,
20
+ "tracks": {
21
+ "photo.width": [
22
+ [0, 4],
23
+ [1, 8]
24
+ ]
25
+ },
26
+ "events": [
27
+ [0.5, "ping"]
28
+ ]
29
+ }
30
+ },
31
+ "machine": {
32
+ "layers": {
33
+ "main": {
34
+ "initial": "active",
35
+ "states": {
36
+ "active": {
37
+ "play": "resize"
38
+ }
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "assets": {
44
+ "photo": {
45
+ "type": "image",
46
+ "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAG0lEQVR4AWP8r8HwnwEPYGIgAJgYCAAmBgIAABjwAi5tDXySAAAAAElFTkSuQmCC",
47
+ "width": 8,
48
+ "height": 4
49
+ },
50
+ "tone": {
51
+ "type": "audio",
52
+ "source": "data:audio/wav;base64,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"
53
+ }
54
+ },
55
+ "eventDefs": {
56
+ "ping": {
57
+ "audio": "tone"
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,16 @@
1
+ <anima version="0.1" name="assets-audio" grid="24" requires="assets paint events">
2
+ <asset name="photo" type="image"
3
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAG0lEQVR4AWP8r8HwnwEPYGIgAJgYCAAmBgIAABjwAi5tDXySAAAAAElFTkSuQmCC"
4
+ width="8" height="4"/>
5
+ <asset name="tone" type="audio"
6
+ src="data:audio/wav;base64,UklGRiQKAABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YQAKAAAAAAEIdQ/fFdAa9h0aHyoeNxt0FjMQ4Aj5AAT5ivEJ6/LlmuI54efhl+Qb6SPvSvYT/voFeA0NFEgZ0RxsHv8dkhtOF34RhQrcAgT7hvPf7ILnyuP14SPiTuRS6Onts/Q7/AAEfgs0ErAXlhuiHbMdyRsEGKcSDgypBPf8ffW67iDpEOXN4n/iKeSu59HsOfN5+hUCiglYEA0WRhq8HEcd3RuXGK8TeQ1fBtv+bveW8MnqaebA4/viJuQs59rr3fHQ+DoAnQd7Dl8U5Bi+G7wczxsHGZUUxQ78B6wAVflz8nvs0+fL5JTjROTO5gTroPBA93L+vAWgDKoScheoGhQcoBtVGVkV8w9+CWsCMftM9DLuTOnr5Urkg+SR5lHqgu/K9b785wPJCvAQ8xV9GVEbUhuBGfwVARHmChME/vwg9u7v0Oog5xnl4OR25sDphO5x9CD7IAL5CDQPahRAGHYa5hqLGX0W7xExDKYFvf7t96rxXuxl6AHmWuV75k/ppu0085r5awAxB3kN2BLyFoMZXhp3GdwWvRJfDSAHaQCv+WTz9O266f/m8OWf5gDp6OwV8i34x/50BcALQBGXFXsYuxlDGRwXaxNwDoAIAwJm+xv1je8b6xDooObi5tDoSuwT8dn2OP3EAwwKpQ8wFGAX/xjyGDsX+BNiD8cJiAMP/cz2KfGH7DTpZ+dA58Dozesw8KD1vvsiAl8ICQ7AEjUWLBiGGD0XZxQ2EPIK9gSo/nX4xfL77WbqRei6587obuts74P0XPqSALsGbgxJEfsURRcAGCAXthTrEAEMTQYwABP6XvR076brNulN6PnoLuvG7oLzEfkT/yIF1grOD7YTShZhF+cW5hSCEfQMiwelAaX78/Xw8PHsOer36EDpDOs+7p3y3/ep/ZcDRQlRDmcSPxWrFpMW+hT7EcoNsAgFAyn9gfdt8kTuTOu36aDpB+vU7dbxx/ZT/BsCuwfVDBARJhThFSYW8BRWEoMOuwlPBJ3+Bvnp853vbOyL6hrqH+uI7SvxyfUU+68APAZaC7QPABMEFaEVzBSUEiAPqwqDBQAAgPph9fvwl+1x66rqUetY7Z3w5/Ts+Vb/yATlCVYOzxEXFAYVjRS1Ep8PgAufBlAB7fvU9lryzO5m7FDrnOtE7SzwIPTc+BD+YQN2CPcMlxAbE1YUNRS7EgIQOgyjB4wCTf0/+LnzB/Bo7Qns/+tM7dbvdPPl9978CgIPB5kLWg8SEpQTxhOnEkoQ2AyNCLIDnP6g+RX1R/F37tTseext7Z3v4/II98P7wwCzBT8KGA7/EMESQhN5EnYQWw1dCcME2v/2+mz2ifKO767tCO2m7X7vbvJE9r76jv9jBOoI1gzkD+ARqhI0EogQwg0UCrwFBQE//L33y/Ot8Jbuqu337XnvFPKa9dD5bf4iA50HlAvCDvIQ/xHYEYAQEA6xCp0GHAJ6/Qb5DPXQ8YnvXO5e7o3v0/EL9fv4YP3vAVoGVQqdDfoPRBFnEWEQQw4zC2cHHgOk/kT6Sfb38oXwHu/Z7rjvrfGV9D74afzOACIFGwl2DPkOexDjECoQXQ6cCxgICwS9/3b7gPce9Inx7u9m7/rvn/E59Jn3h/u+//YD5wdPC/INpg9NEN0PXw7sC7AI4QTDAJr8r/hE9ZPyyfAE8FHwqfH28w73vPrB/tkCvAYqCucMxg6nD3wPSQ4jDC8JoQW2AbD91fln9p/zrfGx8LvwyvHL85r2CPrZ/csBnAUJCdoL3g3zDgkPHQ5BDJYJSQaUArX+8PqF9630mfJr8TjxAfK480D2a/kF/c4AhwTvB8wK7wwzDoQO3A1JDOUJ2gZdA6n///uc+Lr1ivMx8sTxS/K88/315vhH/OT/fwPcBsEJ/AtpDfANiA06DBwKUwcQBIsA//yq+cT2fvT/8mDyqfLW89H1efie+wz/hgLTBbgIBwuXDE4NIg0VDDwKtQetBFkB8P2u+sr3dPXV8wfzGPME9L31I/gM+0j+ngHVBLYHEQq+C6AMqwzdC0UKAAg0BRMC0f6m+8n4avax9LrzlvNG9L714/eR+pj9xgDjA7sGHAngCukLJQySCzkKNAilBbgCn/+R/MD5XfeP9Xb0I/Sb9NT1uvcr+v78AAD/AsgFKwgBCikLkgs1CxkKUgj/BUgDXABt/a36S/hv9jn1vPT/9P71p/fc+Xj8Tf8rAuAEQAchCWQK9ArJCuYJWwhDBsMDBQE5/o/7NPlP9wH2X/Vz9Tv2qfej+Qj8rv5nAQQEWwZCCJoJTApOCqAJTwhxBigEmwH1/mX8Ffot+M32C/b09Yn2v/eA+a37Iv60ADYDfgVmB80InAnGCUoJLwiKBngEHAKf/yz97PoG+Zn3vvaB9uf26Pdx+Wj7q/0TAHYCrASPBgAI5wg0CeQI/QePBrIEiQI3AOT9ufva+Wb4dvcZ91T3I/h3+Tj7Sf2F/8YB5QO/BTUHLQiZCHEIugd/BtgE4QK7AIz+efym+jD5MPi49833bviP+R37+/wK/yYBLAP4BG0Gcgf2B/IHZgddBuoEJAMsASP/LP1o+/b57fhe+FL4yfi6+RX7wvyj/pgAgAI6BKkFtQZOB2gHBAcqBucEUwOJAaj/0P0h/Lb6qPkI+eD4Mvn3+SH7nfxQ/hwA5AGIA+wE+wWiBtYGlgblBdIEbgPTARsAZf7N/G/7Yfq1+Xb5pvlD+kD7jPwQ/rP/VwHiAjgERAX0BT0GGwaSBaoEdQMIAnsA6P5s/R/8Fvtj+hL6Jvqe+nD7jvzl/V3/3ABKAo0DkgRGBZ8FlwUwBXIEaQMpAscAW//9/cT8xfsR+7L6rvoF+7H7o/zN/Rr/cwDBAe4C5gOaBP0ECwXCBCkESwM3AgABu/9+/l39bfy7+1X7Pvt5+wD8y/zJ/ev+HABIAVsCQwPxA1oEeARJBNIDGwMyAiYBCQDu/ur9C/1i/Pj71Pv3+178A/3Y/c/+2P/gANYBqQJNA7cD4APHA24D2wIaAjgBRABO/2f+n/0C/Zr8bfx9/Mn8S/34/cb+pv+JAF8BGwKxAhYDRgM9A/0CjALxATcBawCc/9b+J/6a/Tn9CP0K/T/9of0q/tH+iP9EAPkAmgEdAnkCqgKtAoMCLgK2ASMBgADX/zT/ov4q/tP9o/2c/b79Bf5t/u3+ff8SAKMAJgGSAeIBEAIZAv8BxAFsAf4AggAAAIH/Dv+u/mf+Pf4y/kX+dv6//hv/hP/z/18AwQAUAVIBdwGDAXUBTgETAccAcQAWAL3/bP8n//P+0/7I/tP+8f4f/1v/n//m/ywAbACiAMoA4wDsAOUAzgCsAIAATQAZAOb/uP+S/3b/Zf9f/2X/df+M/6r/y//s/wwAKAA+AE0AVQBWAFEARwA5ACkAGAAJAP3/9P/v/+3/7//0//r/"/>
7
+ <image id="photo" asset="photo" x0="0" y0="0" width="4" height="4"/>
8
+ <event-def name="ping" audio="tone"/>
9
+ <timeline name="resize" duration="1">
10
+ <track target="photo.width">0 4; 1 8</track>
11
+ <event at="0.5" name="ping"/>
12
+ </timeline>
13
+ <layer name="main" initial="active">
14
+ <state name="active" play="resize"/>
15
+ </layer>
16
+ </anima>