@motion-script/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/README.md +69 -0
  2. package/dist/assets/catalog.d.ts +83 -0
  3. package/dist/assets/catalog.d.ts.map +1 -0
  4. package/dist/assets/catalog.js +110 -0
  5. package/dist/assets/catalog.js.map +1 -0
  6. package/dist/assets/index.d.ts +5 -0
  7. package/dist/assets/index.d.ts.map +1 -0
  8. package/dist/assets/index.js +4 -0
  9. package/dist/assets/index.js.map +1 -0
  10. package/dist/assets/manager.d.ts +32 -0
  11. package/dist/assets/manager.d.ts.map +1 -0
  12. package/dist/assets/manager.js +108 -0
  13. package/dist/assets/manager.js.map +1 -0
  14. package/dist/assets/manager.test.d.ts +2 -0
  15. package/dist/assets/manager.test.d.ts.map +1 -0
  16. package/dist/assets/manager.test.js +133 -0
  17. package/dist/assets/manager.test.js.map +1 -0
  18. package/dist/assets/manifest.d.ts +38 -0
  19. package/dist/assets/manifest.d.ts.map +1 -0
  20. package/dist/assets/manifest.js +2 -0
  21. package/dist/assets/manifest.js.map +1 -0
  22. package/dist/assets/record.d.ts +40 -0
  23. package/dist/assets/record.d.ts.map +1 -0
  24. package/dist/assets/record.js +2 -0
  25. package/dist/assets/record.js.map +1 -0
  26. package/dist/assets/tracker.d.ts +69 -0
  27. package/dist/assets/tracker.d.ts.map +1 -0
  28. package/dist/assets/tracker.js +178 -0
  29. package/dist/assets/tracker.js.map +1 -0
  30. package/dist/attributes/audio/request.d.ts +21 -0
  31. package/dist/attributes/audio/request.d.ts.map +1 -0
  32. package/dist/attributes/audio/request.js +2 -0
  33. package/dist/attributes/audio/request.js.map +1 -0
  34. package/dist/attributes/audio/sound.d.ts +83 -0
  35. package/dist/attributes/audio/sound.d.ts.map +1 -0
  36. package/dist/attributes/audio/sound.js +106 -0
  37. package/dist/attributes/audio/sound.js.map +1 -0
  38. package/dist/attributes/index.d.ts +18 -0
  39. package/dist/attributes/index.d.ts.map +1 -0
  40. package/dist/attributes/index.js +17 -0
  41. package/dist/attributes/index.js.map +1 -0
  42. package/dist/attributes/layout/bounds.d.ts +12 -0
  43. package/dist/attributes/layout/bounds.d.ts.map +1 -0
  44. package/dist/attributes/layout/bounds.js +2 -0
  45. package/dist/attributes/layout/bounds.js.map +1 -0
  46. package/dist/attributes/layout/constraints.d.ts +6 -0
  47. package/dist/attributes/layout/constraints.d.ts.map +1 -0
  48. package/dist/attributes/layout/constraints.js +2 -0
  49. package/dist/attributes/layout/constraints.js.map +1 -0
  50. package/dist/attributes/layout/index.d.ts +6 -0
  51. package/dist/attributes/layout/index.d.ts.map +1 -0
  52. package/dist/attributes/layout/index.js +2 -0
  53. package/dist/attributes/layout/index.js.map +1 -0
  54. package/dist/attributes/layout/padding.d.ts +26 -0
  55. package/dist/attributes/layout/padding.d.ts.map +1 -0
  56. package/dist/attributes/layout/padding.js +17 -0
  57. package/dist/attributes/layout/padding.js.map +1 -0
  58. package/dist/attributes/layout/padding.test.d.ts +2 -0
  59. package/dist/attributes/layout/padding.test.d.ts.map +1 -0
  60. package/dist/attributes/layout/padding.test.js +32 -0
  61. package/dist/attributes/layout/padding.test.js.map +1 -0
  62. package/dist/attributes/layout/size.d.ts +14 -0
  63. package/dist/attributes/layout/size.d.ts.map +1 -0
  64. package/dist/attributes/layout/size.js +2 -0
  65. package/dist/attributes/layout/size.js.map +1 -0
  66. package/dist/attributes/layout/vector2.d.ts +8 -0
  67. package/dist/attributes/layout/vector2.d.ts.map +1 -0
  68. package/dist/attributes/layout/vector2.js +8 -0
  69. package/dist/attributes/layout/vector2.js.map +1 -0
  70. package/dist/attributes/layout/vector2.test.d.ts +2 -0
  71. package/dist/attributes/layout/vector2.test.d.ts.map +1 -0
  72. package/dist/attributes/layout/vector2.test.js +23 -0
  73. package/dist/attributes/layout/vector2.test.js.map +1 -0
  74. package/dist/attributes/mask/boolean.d.ts +2 -0
  75. package/dist/attributes/mask/boolean.d.ts.map +1 -0
  76. package/dist/attributes/mask/boolean.js +2 -0
  77. package/dist/attributes/mask/boolean.js.map +1 -0
  78. package/dist/attributes/mask/mask.d.ts +9 -0
  79. package/dist/attributes/mask/mask.d.ts.map +1 -0
  80. package/dist/attributes/mask/mask.js +2 -0
  81. package/dist/attributes/mask/mask.js.map +1 -0
  82. package/dist/attributes/properties/decorator.d.ts +45 -0
  83. package/dist/attributes/properties/decorator.d.ts.map +1 -0
  84. package/dist/attributes/properties/decorator.js +72 -0
  85. package/dist/attributes/properties/decorator.js.map +1 -0
  86. package/dist/attributes/properties/decorator.test.d.ts +2 -0
  87. package/dist/attributes/properties/decorator.test.d.ts.map +1 -0
  88. package/dist/attributes/properties/decorator.test.js +52 -0
  89. package/dist/attributes/properties/decorator.test.js.map +1 -0
  90. package/dist/attributes/shape/corners/border-radius.d.ts +32 -0
  91. package/dist/attributes/shape/corners/border-radius.d.ts.map +1 -0
  92. package/dist/attributes/shape/corners/border-radius.js +50 -0
  93. package/dist/attributes/shape/corners/border-radius.js.map +1 -0
  94. package/dist/attributes/shape/corners/border-radius.test.d.ts +2 -0
  95. package/dist/attributes/shape/corners/border-radius.test.d.ts.map +1 -0
  96. package/dist/attributes/shape/corners/border-radius.test.js +52 -0
  97. package/dist/attributes/shape/corners/border-radius.test.js.map +1 -0
  98. package/dist/attributes/shape/corners/index.d.ts +2 -0
  99. package/dist/attributes/shape/corners/index.d.ts.map +1 -0
  100. package/dist/attributes/shape/corners/index.js +2 -0
  101. package/dist/attributes/shape/corners/index.js.map +1 -0
  102. package/dist/attributes/shape/effects/chain.d.ts +145 -0
  103. package/dist/attributes/shape/effects/chain.d.ts.map +1 -0
  104. package/dist/attributes/shape/effects/chain.js +163 -0
  105. package/dist/attributes/shape/effects/chain.js.map +1 -0
  106. package/dist/attributes/shape/effects/chain.test.d.ts +2 -0
  107. package/dist/attributes/shape/effects/chain.test.d.ts.map +1 -0
  108. package/dist/attributes/shape/effects/chain.test.js +63 -0
  109. package/dist/attributes/shape/effects/chain.test.js.map +1 -0
  110. package/dist/attributes/shape/effects/effect-data.d.ts +18 -0
  111. package/dist/attributes/shape/effects/effect-data.d.ts.map +1 -0
  112. package/dist/attributes/shape/effects/effect-data.js +2 -0
  113. package/dist/attributes/shape/effects/effect-data.js.map +1 -0
  114. package/dist/attributes/shape/effects/implementations/background-blur.d.ts +13 -0
  115. package/dist/attributes/shape/effects/implementations/background-blur.d.ts.map +1 -0
  116. package/dist/attributes/shape/effects/implementations/background-blur.js +6 -0
  117. package/dist/attributes/shape/effects/implementations/background-blur.js.map +1 -0
  118. package/dist/attributes/shape/effects/implementations/bloom.d.ts +12 -0
  119. package/dist/attributes/shape/effects/implementations/bloom.d.ts.map +1 -0
  120. package/dist/attributes/shape/effects/implementations/bloom.js +11 -0
  121. package/dist/attributes/shape/effects/implementations/bloom.js.map +1 -0
  122. package/dist/attributes/shape/effects/implementations/blur.d.ts +7 -0
  123. package/dist/attributes/shape/effects/implementations/blur.d.ts.map +1 -0
  124. package/dist/attributes/shape/effects/implementations/blur.js +6 -0
  125. package/dist/attributes/shape/effects/implementations/blur.js.map +1 -0
  126. package/dist/attributes/shape/effects/implementations/bulge-pinch.d.ts +13 -0
  127. package/dist/attributes/shape/effects/implementations/bulge-pinch.d.ts.map +1 -0
  128. package/dist/attributes/shape/effects/implementations/bulge-pinch.js +15 -0
  129. package/dist/attributes/shape/effects/implementations/bulge-pinch.js.map +1 -0
  130. package/dist/attributes/shape/effects/implementations/chromatic-aberration.d.ts +10 -0
  131. package/dist/attributes/shape/effects/implementations/chromatic-aberration.d.ts.map +1 -0
  132. package/dist/attributes/shape/effects/implementations/chromatic-aberration.js +10 -0
  133. package/dist/attributes/shape/effects/implementations/chromatic-aberration.js.map +1 -0
  134. package/dist/attributes/shape/effects/implementations/grayscale.d.ts +7 -0
  135. package/dist/attributes/shape/effects/implementations/grayscale.d.ts.map +1 -0
  136. package/dist/attributes/shape/effects/implementations/grayscale.js +6 -0
  137. package/dist/attributes/shape/effects/implementations/grayscale.js.map +1 -0
  138. package/dist/attributes/shape/effects/implementations/pixelate.d.ts +8 -0
  139. package/dist/attributes/shape/effects/implementations/pixelate.d.ts.map +1 -0
  140. package/dist/attributes/shape/effects/implementations/pixelate.js +10 -0
  141. package/dist/attributes/shape/effects/implementations/pixelate.js.map +1 -0
  142. package/dist/attributes/shape/effects/implementations/sksl.d.ts +39 -0
  143. package/dist/attributes/shape/effects/implementations/sksl.d.ts.map +1 -0
  144. package/dist/attributes/shape/effects/implementations/sksl.js +48 -0
  145. package/dist/attributes/shape/effects/implementations/sksl.js.map +1 -0
  146. package/dist/attributes/shape/effects/implementations/texture.d.ts +9 -0
  147. package/dist/attributes/shape/effects/implementations/texture.d.ts.map +1 -0
  148. package/dist/attributes/shape/effects/implementations/texture.js +11 -0
  149. package/dist/attributes/shape/effects/implementations/texture.js.map +1 -0
  150. package/dist/attributes/shape/effects/implementations/vintage.d.ts +10 -0
  151. package/dist/attributes/shape/effects/implementations/vintage.d.ts.map +1 -0
  152. package/dist/attributes/shape/effects/implementations/vintage.js +10 -0
  153. package/dist/attributes/shape/effects/implementations/vintage.js.map +1 -0
  154. package/dist/attributes/shape/effects/implementations/zoom.d.ts +14 -0
  155. package/dist/attributes/shape/effects/implementations/zoom.d.ts.map +1 -0
  156. package/dist/attributes/shape/effects/implementations/zoom.js +13 -0
  157. package/dist/attributes/shape/effects/implementations/zoom.js.map +1 -0
  158. package/dist/attributes/shape/effects/index.d.ts +19 -0
  159. package/dist/attributes/shape/effects/index.d.ts.map +1 -0
  160. package/dist/attributes/shape/effects/index.js +4 -0
  161. package/dist/attributes/shape/effects/index.js.map +1 -0
  162. package/dist/attributes/shape/effects/registry.d.ts +4 -0
  163. package/dist/attributes/shape/effects/registry.d.ts.map +1 -0
  164. package/dist/attributes/shape/effects/registry.js +51 -0
  165. package/dist/attributes/shape/effects/registry.js.map +1 -0
  166. package/dist/attributes/shape/effects/union.d.ts +14 -0
  167. package/dist/attributes/shape/effects/union.d.ts.map +1 -0
  168. package/dist/attributes/shape/effects/union.js +2 -0
  169. package/dist/attributes/shape/effects/union.js.map +1 -0
  170. package/dist/attributes/shape/fill/blend.d.ts +13 -0
  171. package/dist/attributes/shape/fill/blend.d.ts.map +1 -0
  172. package/dist/attributes/shape/fill/blend.js +32 -0
  173. package/dist/attributes/shape/fill/blend.js.map +1 -0
  174. package/dist/attributes/shape/fill/blend.test.d.ts +2 -0
  175. package/dist/attributes/shape/fill/blend.test.d.ts.map +1 -0
  176. package/dist/attributes/shape/fill/blend.test.js +18 -0
  177. package/dist/attributes/shape/fill/blend.test.js.map +1 -0
  178. package/dist/attributes/shape/fill/chain.d.ts +127 -0
  179. package/dist/attributes/shape/fill/chain.d.ts.map +1 -0
  180. package/dist/attributes/shape/fill/chain.js +116 -0
  181. package/dist/attributes/shape/fill/chain.js.map +1 -0
  182. package/dist/attributes/shape/fill/chain.test.d.ts +2 -0
  183. package/dist/attributes/shape/fill/chain.test.d.ts.map +1 -0
  184. package/dist/attributes/shape/fill/chain.test.js +92 -0
  185. package/dist/attributes/shape/fill/chain.test.js.map +1 -0
  186. package/dist/attributes/shape/fill/color/constants.d.ts +13 -0
  187. package/dist/attributes/shape/fill/color/constants.d.ts.map +1 -0
  188. package/dist/attributes/shape/fill/color/constants.js +162 -0
  189. package/dist/attributes/shape/fill/color/constants.js.map +1 -0
  190. package/dist/attributes/shape/fill/color/parser.d.ts +39 -0
  191. package/dist/attributes/shape/fill/color/parser.d.ts.map +1 -0
  192. package/dist/attributes/shape/fill/color/parser.js +212 -0
  193. package/dist/attributes/shape/fill/color/parser.js.map +1 -0
  194. package/dist/attributes/shape/fill/color/parser.test.d.ts +2 -0
  195. package/dist/attributes/shape/fill/color/parser.test.d.ts.map +1 -0
  196. package/dist/attributes/shape/fill/color/parser.test.js +99 -0
  197. package/dist/attributes/shape/fill/color/parser.test.js.map +1 -0
  198. package/dist/attributes/shape/fill/implementations/color.d.ts +17 -0
  199. package/dist/attributes/shape/fill/implementations/color.d.ts.map +1 -0
  200. package/dist/attributes/shape/fill/implementations/color.js +24 -0
  201. package/dist/attributes/shape/fill/implementations/color.js.map +1 -0
  202. package/dist/attributes/shape/fill/implementations/conic-gradient.d.ts +24 -0
  203. package/dist/attributes/shape/fill/implementations/conic-gradient.d.ts.map +1 -0
  204. package/dist/attributes/shape/fill/implementations/conic-gradient.js +33 -0
  205. package/dist/attributes/shape/fill/implementations/conic-gradient.js.map +1 -0
  206. package/dist/attributes/shape/fill/implementations/image.d.ts +27 -0
  207. package/dist/attributes/shape/fill/implementations/image.d.ts.map +1 -0
  208. package/dist/attributes/shape/fill/implementations/image.js +16 -0
  209. package/dist/attributes/shape/fill/implementations/image.js.map +1 -0
  210. package/dist/attributes/shape/fill/implementations/linear-gradient.d.ts +24 -0
  211. package/dist/attributes/shape/fill/implementations/linear-gradient.d.ts.map +1 -0
  212. package/dist/attributes/shape/fill/implementations/linear-gradient.js +33 -0
  213. package/dist/attributes/shape/fill/implementations/linear-gradient.js.map +1 -0
  214. package/dist/attributes/shape/fill/implementations/noise.d.ts +22 -0
  215. package/dist/attributes/shape/fill/implementations/noise.d.ts.map +1 -0
  216. package/dist/attributes/shape/fill/implementations/noise.js +35 -0
  217. package/dist/attributes/shape/fill/implementations/noise.js.map +1 -0
  218. package/dist/attributes/shape/fill/implementations/radial-gradient.d.ts +24 -0
  219. package/dist/attributes/shape/fill/implementations/radial-gradient.d.ts.map +1 -0
  220. package/dist/attributes/shape/fill/implementations/radial-gradient.js +33 -0
  221. package/dist/attributes/shape/fill/implementations/radial-gradient.js.map +1 -0
  222. package/dist/attributes/shape/fill/implementations/stripe.d.ts +23 -0
  223. package/dist/attributes/shape/fill/implementations/stripe.d.ts.map +1 -0
  224. package/dist/attributes/shape/fill/implementations/stripe.js +36 -0
  225. package/dist/attributes/shape/fill/implementations/stripe.js.map +1 -0
  226. package/dist/attributes/shape/fill/implementations/video.d.ts +41 -0
  227. package/dist/attributes/shape/fill/implementations/video.d.ts.map +1 -0
  228. package/dist/attributes/shape/fill/implementations/video.js +51 -0
  229. package/dist/attributes/shape/fill/implementations/video.js.map +1 -0
  230. package/dist/attributes/shape/fill/index.d.ts +18 -0
  231. package/dist/attributes/shape/fill/index.d.ts.map +1 -0
  232. package/dist/attributes/shape/fill/index.js +5 -0
  233. package/dist/attributes/shape/fill/index.js.map +1 -0
  234. package/dist/attributes/shape/fill/lerp.d.ts +11 -0
  235. package/dist/attributes/shape/fill/lerp.d.ts.map +1 -0
  236. package/dist/attributes/shape/fill/lerp.js +17 -0
  237. package/dist/attributes/shape/fill/lerp.js.map +1 -0
  238. package/dist/attributes/shape/fill/lerp.test.d.ts +2 -0
  239. package/dist/attributes/shape/fill/lerp.test.d.ts.map +1 -0
  240. package/dist/attributes/shape/fill/lerp.test.js +18 -0
  241. package/dist/attributes/shape/fill/lerp.test.js.map +1 -0
  242. package/dist/attributes/shape/fill/registry.d.ts +28 -0
  243. package/dist/attributes/shape/fill/registry.d.ts.map +1 -0
  244. package/dist/attributes/shape/fill/registry.js +83 -0
  245. package/dist/attributes/shape/fill/registry.js.map +1 -0
  246. package/dist/attributes/shape/fill/union.d.ts +50 -0
  247. package/dist/attributes/shape/fill/union.d.ts.map +1 -0
  248. package/dist/attributes/shape/fill/union.js +11 -0
  249. package/dist/attributes/shape/fill/union.js.map +1 -0
  250. package/dist/attributes/shape/filters/chain.d.ts +65 -0
  251. package/dist/attributes/shape/filters/chain.d.ts.map +1 -0
  252. package/dist/attributes/shape/filters/chain.js +83 -0
  253. package/dist/attributes/shape/filters/chain.js.map +1 -0
  254. package/dist/attributes/shape/filters/chain.test.d.ts +2 -0
  255. package/dist/attributes/shape/filters/chain.test.d.ts.map +1 -0
  256. package/dist/attributes/shape/filters/chain.test.js +49 -0
  257. package/dist/attributes/shape/filters/chain.test.js.map +1 -0
  258. package/dist/attributes/shape/filters/implementations/alpha.d.ts +7 -0
  259. package/dist/attributes/shape/filters/implementations/alpha.d.ts.map +1 -0
  260. package/dist/attributes/shape/filters/implementations/alpha.js +7 -0
  261. package/dist/attributes/shape/filters/implementations/alpha.js.map +1 -0
  262. package/dist/attributes/shape/filters/implementations/blur.d.ts +7 -0
  263. package/dist/attributes/shape/filters/implementations/blur.d.ts.map +1 -0
  264. package/dist/attributes/shape/filters/implementations/blur.js +7 -0
  265. package/dist/attributes/shape/filters/implementations/blur.js.map +1 -0
  266. package/dist/attributes/shape/filters/implementations/color-adjustment.d.ts +26 -0
  267. package/dist/attributes/shape/filters/implementations/color-adjustment.d.ts.map +1 -0
  268. package/dist/attributes/shape/filters/implementations/color-adjustment.js +26 -0
  269. package/dist/attributes/shape/filters/implementations/color-adjustment.js.map +1 -0
  270. package/dist/attributes/shape/filters/implementations/color-matrix.d.ts +13 -0
  271. package/dist/attributes/shape/filters/implementations/color-matrix.d.ts.map +1 -0
  272. package/dist/attributes/shape/filters/implementations/color-matrix.js +12 -0
  273. package/dist/attributes/shape/filters/implementations/color-matrix.js.map +1 -0
  274. package/dist/attributes/shape/filters/implementations/curves.d.ts +17 -0
  275. package/dist/attributes/shape/filters/implementations/curves.d.ts.map +1 -0
  276. package/dist/attributes/shape/filters/implementations/curves.js +18 -0
  277. package/dist/attributes/shape/filters/implementations/curves.js.map +1 -0
  278. package/dist/attributes/shape/filters/implementations/exposure.d.ts +7 -0
  279. package/dist/attributes/shape/filters/implementations/exposure.d.ts.map +1 -0
  280. package/dist/attributes/shape/filters/implementations/exposure.js +7 -0
  281. package/dist/attributes/shape/filters/implementations/exposure.js.map +1 -0
  282. package/dist/attributes/shape/filters/implementations/grayscale.d.ts +7 -0
  283. package/dist/attributes/shape/filters/implementations/grayscale.d.ts.map +1 -0
  284. package/dist/attributes/shape/filters/implementations/grayscale.js +7 -0
  285. package/dist/attributes/shape/filters/implementations/grayscale.js.map +1 -0
  286. package/dist/attributes/shape/filters/index.d.ts +16 -0
  287. package/dist/attributes/shape/filters/index.d.ts.map +1 -0
  288. package/dist/attributes/shape/filters/index.js +5 -0
  289. package/dist/attributes/shape/filters/index.js.map +1 -0
  290. package/dist/attributes/shape/filters/registry.d.ts +37 -0
  291. package/dist/attributes/shape/filters/registry.d.ts.map +1 -0
  292. package/dist/attributes/shape/filters/registry.js +60 -0
  293. package/dist/attributes/shape/filters/registry.js.map +1 -0
  294. package/dist/attributes/shape/filters/registry.test.d.ts +5 -0
  295. package/dist/attributes/shape/filters/registry.test.d.ts.map +1 -0
  296. package/dist/attributes/shape/filters/registry.test.js +75 -0
  297. package/dist/attributes/shape/filters/registry.test.js.map +1 -0
  298. package/dist/attributes/shape/filters/union.d.ts +10 -0
  299. package/dist/attributes/shape/filters/union.d.ts.map +1 -0
  300. package/dist/attributes/shape/filters/union.js +2 -0
  301. package/dist/attributes/shape/filters/union.js.map +1 -0
  302. package/dist/attributes/shape/path/bezier.d.ts +28 -0
  303. package/dist/attributes/shape/path/bezier.d.ts.map +1 -0
  304. package/dist/attributes/shape/path/bezier.js +76 -0
  305. package/dist/attributes/shape/path/bezier.js.map +1 -0
  306. package/dist/attributes/shape/path/bezier.test.d.ts +2 -0
  307. package/dist/attributes/shape/path/bezier.test.d.ts.map +1 -0
  308. package/dist/attributes/shape/path/bezier.test.js +85 -0
  309. package/dist/attributes/shape/path/bezier.test.js.map +1 -0
  310. package/dist/attributes/shape/path/dash.d.ts +15 -0
  311. package/dist/attributes/shape/path/dash.d.ts.map +1 -0
  312. package/dist/attributes/shape/path/dash.js +299 -0
  313. package/dist/attributes/shape/path/dash.js.map +1 -0
  314. package/dist/attributes/shape/path/dash.test.d.ts +2 -0
  315. package/dist/attributes/shape/path/dash.test.d.ts.map +1 -0
  316. package/dist/attributes/shape/path/dash.test.js +36 -0
  317. package/dist/attributes/shape/path/dash.test.js.map +1 -0
  318. package/dist/attributes/shape/path/index.d.ts +5 -0
  319. package/dist/attributes/shape/path/index.d.ts.map +1 -0
  320. package/dist/attributes/shape/path/index.js +5 -0
  321. package/dist/attributes/shape/path/index.js.map +1 -0
  322. package/dist/attributes/shape/path/length.d.ts +14 -0
  323. package/dist/attributes/shape/path/length.d.ts.map +1 -0
  324. package/dist/attributes/shape/path/length.js +169 -0
  325. package/dist/attributes/shape/path/length.js.map +1 -0
  326. package/dist/attributes/shape/path/length.test.d.ts +2 -0
  327. package/dist/attributes/shape/path/length.test.d.ts.map +1 -0
  328. package/dist/attributes/shape/path/length.test.js +56 -0
  329. package/dist/attributes/shape/path/length.test.js.map +1 -0
  330. package/dist/attributes/shape/path/subpath.d.ts +15 -0
  331. package/dist/attributes/shape/path/subpath.d.ts.map +1 -0
  332. package/dist/attributes/shape/path/subpath.js +486 -0
  333. package/dist/attributes/shape/path/subpath.js.map +1 -0
  334. package/dist/attributes/shape/path/subpath.test.d.ts +2 -0
  335. package/dist/attributes/shape/path/subpath.test.d.ts.map +1 -0
  336. package/dist/attributes/shape/path/subpath.test.js +54 -0
  337. package/dist/attributes/shape/path/subpath.test.js.map +1 -0
  338. package/dist/attributes/shape/shadow/index.d.ts +5 -0
  339. package/dist/attributes/shape/shadow/index.d.ts.map +1 -0
  340. package/dist/attributes/shape/shadow/index.js +3 -0
  341. package/dist/attributes/shape/shadow/index.js.map +1 -0
  342. package/dist/attributes/shape/shadow/lerp.d.ts +3 -0
  343. package/dist/attributes/shape/shadow/lerp.d.ts.map +1 -0
  344. package/dist/attributes/shape/shadow/lerp.js +30 -0
  345. package/dist/attributes/shape/shadow/lerp.js.map +1 -0
  346. package/dist/attributes/shape/shadow/resolver.d.ts +22 -0
  347. package/dist/attributes/shape/shadow/resolver.d.ts.map +1 -0
  348. package/dist/attributes/shape/shadow/resolver.js +17 -0
  349. package/dist/attributes/shape/shadow/resolver.js.map +1 -0
  350. package/dist/attributes/shape/stroke/index.d.ts +5 -0
  351. package/dist/attributes/shape/stroke/index.d.ts.map +1 -0
  352. package/dist/attributes/shape/stroke/index.js +3 -0
  353. package/dist/attributes/shape/stroke/index.js.map +1 -0
  354. package/dist/attributes/shape/stroke/lerp.d.ts +3 -0
  355. package/dist/attributes/shape/stroke/lerp.d.ts.map +1 -0
  356. package/dist/attributes/shape/stroke/lerp.js +30 -0
  357. package/dist/attributes/shape/stroke/lerp.js.map +1 -0
  358. package/dist/attributes/shape/stroke/mapper.d.ts +24 -0
  359. package/dist/attributes/shape/stroke/mapper.d.ts.map +1 -0
  360. package/dist/attributes/shape/stroke/mapper.js +25 -0
  361. package/dist/attributes/shape/stroke/mapper.js.map +1 -0
  362. package/dist/attributes/text/align.d.ts +2 -0
  363. package/dist/attributes/text/align.d.ts.map +1 -0
  364. package/dist/attributes/text/align.js +2 -0
  365. package/dist/attributes/text/align.js.map +1 -0
  366. package/dist/attributes/text/lerp.d.ts +8 -0
  367. package/dist/attributes/text/lerp.d.ts.map +1 -0
  368. package/dist/attributes/text/lerp.js +38 -0
  369. package/dist/attributes/text/lerp.js.map +1 -0
  370. package/dist/attributes/text/lerp.test.d.ts +2 -0
  371. package/dist/attributes/text/lerp.test.d.ts.map +1 -0
  372. package/dist/attributes/text/lerp.test.js +39 -0
  373. package/dist/attributes/text/lerp.test.js.map +1 -0
  374. package/dist/attributes/text/span.d.ts +37 -0
  375. package/dist/attributes/text/span.d.ts.map +1 -0
  376. package/dist/attributes/text/span.js +2 -0
  377. package/dist/attributes/text/span.js.map +1 -0
  378. package/dist/index.d.ts +14 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +14 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/jsx/jsx-dev-runtime.d.ts +19 -0
  383. package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
  384. package/dist/jsx/jsx-dev-runtime.js +16 -0
  385. package/dist/jsx/jsx-dev-runtime.js.map +1 -0
  386. package/dist/jsx/jsx-runtime.d.ts +19 -0
  387. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  388. package/dist/jsx/jsx-runtime.js +16 -0
  389. package/dist/jsx/jsx-runtime.js.map +1 -0
  390. package/dist/layout/flex.d.ts +66 -0
  391. package/dist/layout/flex.d.ts.map +1 -0
  392. package/dist/layout/flex.js +196 -0
  393. package/dist/layout/flex.js.map +1 -0
  394. package/dist/layout/flex.test.d.ts +2 -0
  395. package/dist/layout/flex.test.d.ts.map +1 -0
  396. package/dist/layout/flex.test.js +336 -0
  397. package/dist/layout/flex.test.js.map +1 -0
  398. package/dist/layout/grid.d.ts +38 -0
  399. package/dist/layout/grid.d.ts.map +1 -0
  400. package/dist/layout/grid.js +117 -0
  401. package/dist/layout/grid.js.map +1 -0
  402. package/dist/layout/index.d.ts +6 -0
  403. package/dist/layout/index.d.ts.map +1 -0
  404. package/dist/layout/index.js +6 -0
  405. package/dist/layout/index.js.map +1 -0
  406. package/dist/layout/padding.d.ts +19 -0
  407. package/dist/layout/padding.d.ts.map +1 -0
  408. package/dist/layout/padding.js +16 -0
  409. package/dist/layout/padding.js.map +1 -0
  410. package/dist/layout/padding.test.d.ts +2 -0
  411. package/dist/layout/padding.test.d.ts.map +1 -0
  412. package/dist/layout/padding.test.js +39 -0
  413. package/dist/layout/padding.test.js.map +1 -0
  414. package/dist/layout/size-resolver.d.ts +13 -0
  415. package/dist/layout/size-resolver.d.ts.map +1 -0
  416. package/dist/layout/size-resolver.js +22 -0
  417. package/dist/layout/size-resolver.js.map +1 -0
  418. package/dist/layout/size-resolver.test.d.ts +2 -0
  419. package/dist/layout/size-resolver.test.d.ts.map +1 -0
  420. package/dist/layout/size-resolver.test.js +24 -0
  421. package/dist/layout/size-resolver.test.js.map +1 -0
  422. package/dist/layout/tweens.d.ts +5 -0
  423. package/dist/layout/tweens.d.ts.map +1 -0
  424. package/dist/layout/tweens.js +16 -0
  425. package/dist/layout/tweens.js.map +1 -0
  426. package/dist/layout/tweens.test.d.ts +2 -0
  427. package/dist/layout/tweens.test.d.ts.map +1 -0
  428. package/dist/layout/tweens.test.js +26 -0
  429. package/dist/layout/tweens.test.js.map +1 -0
  430. package/dist/nodes/base/boolean-node.d.ts +14 -0
  431. package/dist/nodes/base/boolean-node.d.ts.map +1 -0
  432. package/dist/nodes/base/boolean-node.js +34 -0
  433. package/dist/nodes/base/boolean-node.js.map +1 -0
  434. package/dist/nodes/base/camera-node.d.ts +27 -0
  435. package/dist/nodes/base/camera-node.d.ts.map +1 -0
  436. package/dist/nodes/base/camera-node.js +31 -0
  437. package/dist/nodes/base/camera-node.js.map +1 -0
  438. package/dist/nodes/base/mask-node.d.ts +14 -0
  439. package/dist/nodes/base/mask-node.d.ts.map +1 -0
  440. package/dist/nodes/base/mask-node.js +37 -0
  441. package/dist/nodes/base/mask-node.js.map +1 -0
  442. package/dist/nodes/base/node.d.ts +284 -0
  443. package/dist/nodes/base/node.d.ts.map +1 -0
  444. package/dist/nodes/base/node.js +800 -0
  445. package/dist/nodes/base/node.js.map +1 -0
  446. package/dist/nodes/base/scene-node.d.ts +45 -0
  447. package/dist/nodes/base/scene-node.d.ts.map +1 -0
  448. package/dist/nodes/base/scene-node.js +122 -0
  449. package/dist/nodes/base/scene-node.js.map +1 -0
  450. package/dist/nodes/geometry/ellipse-node.d.ts +18 -0
  451. package/dist/nodes/geometry/ellipse-node.d.ts.map +1 -0
  452. package/dist/nodes/geometry/ellipse-node.js +55 -0
  453. package/dist/nodes/geometry/ellipse-node.js.map +1 -0
  454. package/dist/nodes/geometry/grid-node.d.ts +40 -0
  455. package/dist/nodes/geometry/grid-node.d.ts.map +1 -0
  456. package/dist/nodes/geometry/grid-node.js +138 -0
  457. package/dist/nodes/geometry/grid-node.js.map +1 -0
  458. package/dist/nodes/geometry/line-node.d.ts +17 -0
  459. package/dist/nodes/geometry/line-node.d.ts.map +1 -0
  460. package/dist/nodes/geometry/line-node.js +34 -0
  461. package/dist/nodes/geometry/line-node.js.map +1 -0
  462. package/dist/nodes/geometry/path-node.d.ts +17 -0
  463. package/dist/nodes/geometry/path-node.d.ts.map +1 -0
  464. package/dist/nodes/geometry/path-node.js +230 -0
  465. package/dist/nodes/geometry/path-node.js.map +1 -0
  466. package/dist/nodes/geometry/polygon-node.d.ts +20 -0
  467. package/dist/nodes/geometry/polygon-node.d.ts.map +1 -0
  468. package/dist/nodes/geometry/polygon-node.js +42 -0
  469. package/dist/nodes/geometry/polygon-node.js.map +1 -0
  470. package/dist/nodes/geometry/polygram-node.d.ts +27 -0
  471. package/dist/nodes/geometry/polygram-node.d.ts.map +1 -0
  472. package/dist/nodes/geometry/polygram-node.js +47 -0
  473. package/dist/nodes/geometry/polygram-node.js.map +1 -0
  474. package/dist/nodes/geometry/rect-node.d.ts +50 -0
  475. package/dist/nodes/geometry/rect-node.d.ts.map +1 -0
  476. package/dist/nodes/geometry/rect-node.js +275 -0
  477. package/dist/nodes/geometry/rect-node.js.map +1 -0
  478. package/dist/nodes/geometry/shape-node.d.ts +66 -0
  479. package/dist/nodes/geometry/shape-node.d.ts.map +1 -0
  480. package/dist/nodes/geometry/shape-node.js +127 -0
  481. package/dist/nodes/geometry/shape-node.js.map +1 -0
  482. package/dist/nodes/index.d.ts +17 -0
  483. package/dist/nodes/index.d.ts.map +1 -0
  484. package/dist/nodes/index.js +20 -0
  485. package/dist/nodes/index.js.map +1 -0
  486. package/dist/nodes/media/image-node.d.ts +28 -0
  487. package/dist/nodes/media/image-node.d.ts.map +1 -0
  488. package/dist/nodes/media/image-node.js +53 -0
  489. package/dist/nodes/media/image-node.js.map +1 -0
  490. package/dist/nodes/text/richtext-node.d.ts +46 -0
  491. package/dist/nodes/text/richtext-node.d.ts.map +1 -0
  492. package/dist/nodes/text/richtext-node.js +155 -0
  493. package/dist/nodes/text/richtext-node.js.map +1 -0
  494. package/dist/nodes/text/text-node.d.ts +42 -0
  495. package/dist/nodes/text/text-node.d.ts.map +1 -0
  496. package/dist/nodes/text/text-node.js +123 -0
  497. package/dist/nodes/text/text-node.js.map +1 -0
  498. package/dist/platform/audio-device.d.ts +40 -0
  499. package/dist/platform/audio-device.d.ts.map +1 -0
  500. package/dist/platform/audio-device.js +19 -0
  501. package/dist/platform/audio-device.js.map +1 -0
  502. package/dist/platform/index.d.ts +4 -0
  503. package/dist/platform/index.d.ts.map +1 -0
  504. package/dist/platform/index.js +4 -0
  505. package/dist/platform/index.js.map +1 -0
  506. package/dist/platform/master-clock.d.ts +54 -0
  507. package/dist/platform/master-clock.d.ts.map +1 -0
  508. package/dist/platform/master-clock.js +85 -0
  509. package/dist/platform/master-clock.js.map +1 -0
  510. package/dist/platform/storage-adapter.d.ts +29 -0
  511. package/dist/platform/storage-adapter.d.ts.map +1 -0
  512. package/dist/platform/storage-adapter.js +70 -0
  513. package/dist/platform/storage-adapter.js.map +1 -0
  514. package/dist/project/config.d.ts +24 -0
  515. package/dist/project/config.d.ts.map +1 -0
  516. package/dist/project/config.js +14 -0
  517. package/dist/project/config.js.map +1 -0
  518. package/dist/project/config.test.d.ts +2 -0
  519. package/dist/project/config.test.d.ts.map +1 -0
  520. package/dist/project/config.test.js +28 -0
  521. package/dist/project/config.test.js.map +1 -0
  522. package/dist/project/index.d.ts +3 -0
  523. package/dist/project/index.d.ts.map +1 -0
  524. package/dist/project/index.js +3 -0
  525. package/dist/project/index.js.map +1 -0
  526. package/dist/project/tree.d.ts +48 -0
  527. package/dist/project/tree.d.ts.map +1 -0
  528. package/dist/project/tree.js +11 -0
  529. package/dist/project/tree.js.map +1 -0
  530. package/dist/render/build-stage.d.ts +63 -0
  531. package/dist/render/build-stage.d.ts.map +1 -0
  532. package/dist/render/build-stage.js +91 -0
  533. package/dist/render/build-stage.js.map +1 -0
  534. package/dist/render/descriptors/ellipse.d.ts +10 -0
  535. package/dist/render/descriptors/ellipse.d.ts.map +1 -0
  536. package/dist/render/descriptors/ellipse.js +20 -0
  537. package/dist/render/descriptors/ellipse.js.map +1 -0
  538. package/dist/render/descriptors/image.d.ts +12 -0
  539. package/dist/render/descriptors/image.d.ts.map +1 -0
  540. package/dist/render/descriptors/image.js +12 -0
  541. package/dist/render/descriptors/image.js.map +1 -0
  542. package/dist/render/descriptors/latex.d.ts +6 -0
  543. package/dist/render/descriptors/latex.d.ts.map +1 -0
  544. package/dist/render/descriptors/latex.js +2 -0
  545. package/dist/render/descriptors/latex.js.map +1 -0
  546. package/dist/render/descriptors/line.d.ts +9 -0
  547. package/dist/render/descriptors/line.d.ts.map +1 -0
  548. package/dist/render/descriptors/line.js +19 -0
  549. package/dist/render/descriptors/line.js.map +1 -0
  550. package/dist/render/descriptors/path-builder.d.ts +14 -0
  551. package/dist/render/descriptors/path-builder.d.ts.map +1 -0
  552. package/dist/render/descriptors/path-builder.js +34 -0
  553. package/dist/render/descriptors/path-builder.js.map +1 -0
  554. package/dist/render/descriptors/path.d.ts +105 -0
  555. package/dist/render/descriptors/path.d.ts.map +1 -0
  556. package/dist/render/descriptors/path.js +45 -0
  557. package/dist/render/descriptors/path.js.map +1 -0
  558. package/dist/render/descriptors/path.test.d.ts +2 -0
  559. package/dist/render/descriptors/path.test.d.ts.map +1 -0
  560. package/dist/render/descriptors/path.test.js +40 -0
  561. package/dist/render/descriptors/path.test.js.map +1 -0
  562. package/dist/render/descriptors/polygon.d.ts +9 -0
  563. package/dist/render/descriptors/polygon.d.ts.map +1 -0
  564. package/dist/render/descriptors/polygon.js +19 -0
  565. package/dist/render/descriptors/polygon.js.map +1 -0
  566. package/dist/render/descriptors/polygram.d.ts +10 -0
  567. package/dist/render/descriptors/polygram.d.ts.map +1 -0
  568. package/dist/render/descriptors/polygram.js +20 -0
  569. package/dist/render/descriptors/polygram.js.map +1 -0
  570. package/dist/render/descriptors/rect.d.ts +9 -0
  571. package/dist/render/descriptors/rect.d.ts.map +1 -0
  572. package/dist/render/descriptors/rect.js +18 -0
  573. package/dist/render/descriptors/rect.js.map +1 -0
  574. package/dist/render/descriptors/richtext.d.ts +12 -0
  575. package/dist/render/descriptors/richtext.d.ts.map +1 -0
  576. package/dist/render/descriptors/richtext.js +20 -0
  577. package/dist/render/descriptors/richtext.js.map +1 -0
  578. package/dist/render/descriptors/shape.d.ts +6 -0
  579. package/dist/render/descriptors/shape.d.ts.map +1 -0
  580. package/dist/render/descriptors/shape.js +2 -0
  581. package/dist/render/descriptors/shape.js.map +1 -0
  582. package/dist/render/descriptors/text.d.ts +19 -0
  583. package/dist/render/descriptors/text.d.ts.map +1 -0
  584. package/dist/render/descriptors/text.js +27 -0
  585. package/dist/render/descriptors/text.js.map +1 -0
  586. package/dist/render/descriptors/transform.d.ts +16 -0
  587. package/dist/render/descriptors/transform.d.ts.map +1 -0
  588. package/dist/render/descriptors/transform.js +14 -0
  589. package/dist/render/descriptors/transform.js.map +1 -0
  590. package/dist/render/index.d.ts +17 -0
  591. package/dist/render/index.d.ts.map +1 -0
  592. package/dist/render/index.js +16 -0
  593. package/dist/render/index.js.map +1 -0
  594. package/dist/render/measure-scope.d.ts +25 -0
  595. package/dist/render/measure-scope.d.ts.map +1 -0
  596. package/dist/render/measure-scope.js +11 -0
  597. package/dist/render/measure-scope.js.map +1 -0
  598. package/dist/render/render-context.d.ts +258 -0
  599. package/dist/render/render-context.d.ts.map +1 -0
  600. package/dist/render/render-context.js +95 -0
  601. package/dist/render/render-context.js.map +1 -0
  602. package/dist/runtime/index.d.ts +4 -0
  603. package/dist/runtime/index.d.ts.map +1 -0
  604. package/dist/runtime/index.js +4 -0
  605. package/dist/runtime/index.js.map +1 -0
  606. package/dist/runtime/playback-controller.d.ts +105 -0
  607. package/dist/runtime/playback-controller.d.ts.map +1 -0
  608. package/dist/runtime/playback-controller.js +244 -0
  609. package/dist/runtime/playback-controller.js.map +1 -0
  610. package/dist/runtime/playback-controller.test.d.ts +2 -0
  611. package/dist/runtime/playback-controller.test.d.ts.map +1 -0
  612. package/dist/runtime/playback-controller.test.js +148 -0
  613. package/dist/runtime/playback-controller.test.js.map +1 -0
  614. package/dist/runtime/precompisition.d.ts +107 -0
  615. package/dist/runtime/precompisition.d.ts.map +1 -0
  616. package/dist/runtime/precompisition.js +202 -0
  617. package/dist/runtime/precompisition.js.map +1 -0
  618. package/dist/runtime/precompisition.test.d.ts +2 -0
  619. package/dist/runtime/precompisition.test.d.ts.map +1 -0
  620. package/dist/runtime/precompisition.test.js +138 -0
  621. package/dist/runtime/precompisition.test.js.map +1 -0
  622. package/dist/runtime/runtime.fixtures.d.ts +158 -0
  623. package/dist/runtime/runtime.fixtures.d.ts.map +1 -0
  624. package/dist/runtime/runtime.fixtures.js +264 -0
  625. package/dist/runtime/runtime.fixtures.js.map +1 -0
  626. package/dist/runtime/state-evaluator.d.ts +76 -0
  627. package/dist/runtime/state-evaluator.d.ts.map +1 -0
  628. package/dist/runtime/state-evaluator.js +162 -0
  629. package/dist/runtime/state-evaluator.js.map +1 -0
  630. package/dist/runtime/state-evaluator.test.d.ts +2 -0
  631. package/dist/runtime/state-evaluator.test.d.ts.map +1 -0
  632. package/dist/runtime/state-evaluator.test.js +122 -0
  633. package/dist/runtime/state-evaluator.test.js.map +1 -0
  634. package/dist/signals/create.d.ts +21 -0
  635. package/dist/signals/create.d.ts.map +1 -0
  636. package/dist/signals/create.js +74 -0
  637. package/dist/signals/create.js.map +1 -0
  638. package/dist/signals/create.test.d.ts +2 -0
  639. package/dist/signals/create.test.d.ts.map +1 -0
  640. package/dist/signals/create.test.js +81 -0
  641. package/dist/signals/create.test.js.map +1 -0
  642. package/dist/signals/host.d.ts +11 -0
  643. package/dist/signals/host.d.ts.map +1 -0
  644. package/dist/signals/host.js +10 -0
  645. package/dist/signals/host.js.map +1 -0
  646. package/dist/signals/index.d.ts +4 -0
  647. package/dist/signals/index.d.ts.map +1 -0
  648. package/dist/signals/index.js +3 -0
  649. package/dist/signals/index.js.map +1 -0
  650. package/dist/signals/signal-cell.test.d.ts +2 -0
  651. package/dist/signals/signal-cell.test.d.ts.map +1 -0
  652. package/dist/signals/signal-cell.test.js +202 -0
  653. package/dist/signals/signal-cell.test.js.map +1 -0
  654. package/dist/signals/signal.d.ts +46 -0
  655. package/dist/signals/signal.d.ts.map +1 -0
  656. package/dist/signals/signal.js +162 -0
  657. package/dist/signals/signal.js.map +1 -0
  658. package/dist/signals/signal.test.d.ts +2 -0
  659. package/dist/signals/signal.test.d.ts.map +1 -0
  660. package/dist/signals/signal.test.js +192 -0
  661. package/dist/signals/signal.test.js.map +1 -0
  662. package/dist/signals/subscriber.d.ts +5 -0
  663. package/dist/signals/subscriber.d.ts.map +1 -0
  664. package/dist/signals/subscriber.js +2 -0
  665. package/dist/signals/subscriber.js.map +1 -0
  666. package/dist/tween/animation-builder.d.ts +74 -0
  667. package/dist/tween/animation-builder.d.ts.map +1 -0
  668. package/dist/tween/animation-builder.js +99 -0
  669. package/dist/tween/animation-builder.js.map +1 -0
  670. package/dist/tween/ease/constants.d.ts +13 -0
  671. package/dist/tween/ease/constants.d.ts.map +1 -0
  672. package/dist/tween/ease/constants.js +71 -0
  673. package/dist/tween/ease/constants.js.map +1 -0
  674. package/dist/tween/ease/type.d.ts +2 -0
  675. package/dist/tween/ease/type.d.ts.map +1 -0
  676. package/dist/tween/ease/type.js +2 -0
  677. package/dist/tween/ease/type.js.map +1 -0
  678. package/dist/tween/eases.test.d.ts +2 -0
  679. package/dist/tween/eases.test.d.ts.map +1 -0
  680. package/dist/tween/eases.test.js +91 -0
  681. package/dist/tween/eases.test.js.map +1 -0
  682. package/dist/tween/generator.d.ts +22 -0
  683. package/dist/tween/generator.d.ts.map +1 -0
  684. package/dist/tween/generator.js +2 -0
  685. package/dist/tween/generator.js.map +1 -0
  686. package/dist/tween/index.d.ts +12 -0
  687. package/dist/tween/index.d.ts.map +1 -0
  688. package/dist/tween/index.js +12 -0
  689. package/dist/tween/index.js.map +1 -0
  690. package/dist/tween/lerp.d.ts +11 -0
  691. package/dist/tween/lerp.d.ts.map +1 -0
  692. package/dist/tween/lerp.js +13 -0
  693. package/dist/tween/lerp.js.map +1 -0
  694. package/dist/tween/lerp.test.d.ts +2 -0
  695. package/dist/tween/lerp.test.d.ts.map +1 -0
  696. package/dist/tween/lerp.test.js +22 -0
  697. package/dist/tween/lerp.test.js.map +1 -0
  698. package/dist/tween/parallel.d.ts +23 -0
  699. package/dist/tween/parallel.d.ts.map +1 -0
  700. package/dist/tween/parallel.js +79 -0
  701. package/dist/tween/parallel.js.map +1 -0
  702. package/dist/tween/prepare.d.ts +34 -0
  703. package/dist/tween/prepare.d.ts.map +1 -0
  704. package/dist/tween/prepare.js +52 -0
  705. package/dist/tween/prepare.js.map +1 -0
  706. package/dist/tween/prepare.test.d.ts +2 -0
  707. package/dist/tween/prepare.test.d.ts.map +1 -0
  708. package/dist/tween/prepare.test.js +44 -0
  709. package/dist/tween/prepare.test.js.map +1 -0
  710. package/dist/tween/sequence.d.ts +19 -0
  711. package/dist/tween/sequence.d.ts.map +1 -0
  712. package/dist/tween/sequence.js +22 -0
  713. package/dist/tween/sequence.js.map +1 -0
  714. package/dist/tween/sequence.test.d.ts +2 -0
  715. package/dist/tween/sequence.test.d.ts.map +1 -0
  716. package/dist/tween/sequence.test.js +68 -0
  717. package/dist/tween/sequence.test.js.map +1 -0
  718. package/dist/tween/stepper.d.ts +34 -0
  719. package/dist/tween/stepper.d.ts.map +1 -0
  720. package/dist/tween/stepper.js +4 -0
  721. package/dist/tween/stepper.js.map +1 -0
  722. package/dist/tween/tests/batched-parallel.test.d.ts +2 -0
  723. package/dist/tween/tests/batched-parallel.test.d.ts.map +1 -0
  724. package/dist/tween/tests/batched-parallel.test.js +76 -0
  725. package/dist/tween/tests/batched-parallel.test.js.map +1 -0
  726. package/dist/tween/tests/parallel.test.d.ts +2 -0
  727. package/dist/tween/tests/parallel.test.d.ts.map +1 -0
  728. package/dist/tween/tests/parallel.test.js +129 -0
  729. package/dist/tween/tests/parallel.test.js.map +1 -0
  730. package/dist/tween/tests/realtime.test.d.ts +2 -0
  731. package/dist/tween/tests/realtime.test.d.ts.map +1 -0
  732. package/dist/tween/tests/realtime.test.js +76 -0
  733. package/dist/tween/tests/realtime.test.js.map +1 -0
  734. package/dist/tween/tween.d.ts +18 -0
  735. package/dist/tween/tween.d.ts.map +1 -0
  736. package/dist/tween/tween.js +28 -0
  737. package/dist/tween/tween.js.map +1 -0
  738. package/dist/tween/tween.test.d.ts +2 -0
  739. package/dist/tween/tween.test.d.ts.map +1 -0
  740. package/dist/tween/tween.test.js +38 -0
  741. package/dist/tween/tween.test.js.map +1 -0
  742. package/dist/tween/wait.d.ts +19 -0
  743. package/dist/tween/wait.d.ts.map +1 -0
  744. package/dist/tween/wait.js +25 -0
  745. package/dist/tween/wait.js.map +1 -0
  746. package/dist/tween/wait.test.d.ts +2 -0
  747. package/dist/tween/wait.test.d.ts.map +1 -0
  748. package/dist/tween/wait.test.js +35 -0
  749. package/dist/tween/wait.test.js.map +1 -0
  750. package/dist/util/clamp.d.ts +12 -0
  751. package/dist/util/clamp.d.ts.map +1 -0
  752. package/dist/util/clamp.js +16 -0
  753. package/dist/util/clamp.js.map +1 -0
  754. package/dist/util/clamp.test.d.ts +2 -0
  755. package/dist/util/clamp.test.d.ts.map +1 -0
  756. package/dist/util/clamp.test.js +31 -0
  757. package/dist/util/clamp.test.js.map +1 -0
  758. package/dist/util/index.d.ts +4 -0
  759. package/dist/util/index.d.ts.map +1 -0
  760. package/dist/util/index.js +4 -0
  761. package/dist/util/index.js.map +1 -0
  762. package/dist/util/random.d.ts +16 -0
  763. package/dist/util/random.d.ts.map +1 -0
  764. package/dist/util/random.js +28 -0
  765. package/dist/util/random.js.map +1 -0
  766. package/dist/util/random.test.d.ts +2 -0
  767. package/dist/util/random.test.d.ts.map +1 -0
  768. package/dist/util/random.test.js +42 -0
  769. package/dist/util/random.test.js.map +1 -0
  770. package/dist/util/range.d.ts +12 -0
  771. package/dist/util/range.d.ts.map +1 -0
  772. package/dist/util/range.js +11 -0
  773. package/dist/util/range.js.map +1 -0
  774. package/dist/util/reference.d.ts +15 -0
  775. package/dist/util/reference.d.ts.map +1 -0
  776. package/dist/util/reference.js +20 -0
  777. package/dist/util/reference.js.map +1 -0
  778. package/dist/util/reference.test.d.ts +2 -0
  779. package/dist/util/reference.test.d.ts.map +1 -0
  780. package/dist/util/reference.test.js +32 -0
  781. package/dist/util/reference.test.js.map +1 -0
  782. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure-scope.js","sourceRoot":"","sources":["../../src/render/measure-scope.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,MAAM,OAAgB,YAAY;CAqBjC"}
@@ -0,0 +1,258 @@
1
+ import { FontStyle } from "../attributes/text/span";
2
+ import { type RectState } from "./descriptors/rect";
3
+ import { TextState } from "./descriptors/text";
4
+ import { RichTextState } from "./descriptors/richtext";
5
+ import { TransformState } from "./descriptors/transform";
6
+ import { PathState } from "./descriptors/path";
7
+ import type { PathBuilder } from "./descriptors/path-builder";
8
+ import { EllipseState } from "./descriptors/ellipse";
9
+ import { LineState } from "./descriptors/line";
10
+ import { ImageState } from "./descriptors/image";
11
+ import { PolygonState } from "./descriptors/polygon";
12
+ import { PolygramState } from "./descriptors/polygram";
13
+ import { MeasureScope } from "./measure-scope";
14
+ import { FillProp } from "../attributes/shape/fill/union";
15
+ import { Vector2 } from "../attributes/layout/vector2";
16
+ import { ShadowProp } from "../attributes/shape/shadow/resolver";
17
+ import { StrokeProp } from "../attributes/shape/stroke/mapper";
18
+ import { MaskOptions } from "../attributes/mask/mask";
19
+ import { BooleanOperation } from "../attributes/mask/boolean";
20
+ import type { BulgePinchEffect } from "../attributes/shape/effects/implementations/bulge-pinch";
21
+ import type { ZoomEffect } from "../attributes/shape/effects/implementations/zoom";
22
+ import type { SkSLEffect } from "../attributes/shape/effects/implementations/sksl";
23
+ /**
24
+ * A shape outline to clip against, tagged by kind so the renderer can build the
25
+ * same path it would draw. Used by background blur to confine the backdrop blur
26
+ * to any shape's silhouette.
27
+ */
28
+ export type ClipShape = {
29
+ kind: "rect";
30
+ state: Partial<RectState>;
31
+ } | {
32
+ kind: "ellipse";
33
+ state: Partial<EllipseState>;
34
+ } | {
35
+ kind: "polygon";
36
+ state: Partial<PolygonState>;
37
+ } | {
38
+ kind: "polygram";
39
+ state: Partial<PolygramState>;
40
+ } | {
41
+ kind: "path";
42
+ state: Partial<PathState>;
43
+ } | {
44
+ kind: "line";
45
+ state: Partial<LineState>;
46
+ };
47
+ /**
48
+ * A bounding box in the current node's local space (origin = the node's
49
+ * layout-cell centre, the same space shapes are drawn in). `left/top` use the
50
+ * canvas convention (y down).
51
+ */
52
+ export interface SpaceRect {
53
+ left: number;
54
+ top: number;
55
+ right: number;
56
+ bottom: number;
57
+ }
58
+ /**
59
+ * Reference rects a fill can resolve against, supplied per-node at `begin()`.
60
+ * `local`/`global` are derived from the drawn shapes themselves, so only the
61
+ * outer frames are passed here.
62
+ */
63
+ export interface SpaceRects {
64
+ /** The parent node's content rect, in this node's local space. */
65
+ parent?: SpaceRect;
66
+ /** The render viewport, in this node's local space. */
67
+ view?: SpaceRect;
68
+ }
69
+ /**
70
+ * Low-level shape-drawing API. Each method declares a shape and returns a
71
+ * `Render2DPaintContext` that lets you chain further shapes and apply paint
72
+ * (fill / stroke / shadow). Multiple shapes chained before a paint call are
73
+ * combined into a single surface and painted together.
74
+ */
75
+ export declare abstract class Render2DContext {
76
+ /** Declare an axis-aligned rectangle. */
77
+ abstract rect(state: Partial<RectState>): Render2DPaintContext;
78
+ /** Declare an ellipse (circle when width === height). */
79
+ abstract ellipse(state: Partial<EllipseState>): Render2DPaintContext;
80
+ /** Declare a single-style text run. */
81
+ abstract text(state: Partial<TextState>): Render2DPaintContext;
82
+ /** Declare a multi-span rich-text block. */
83
+ abstract richText(state: Partial<RichTextState>): Render2DPaintContext;
84
+ /** Declare a vector path, either from a `PathState` or a `PathBuilder`. */
85
+ abstract path(state: Partial<PathState> | PathBuilder): Render2DPaintContext;
86
+ /** Declare a straight line segment. */
87
+ abstract line(state: Partial<LineState>): Render2DPaintContext;
88
+ /** Declare a raster image. */
89
+ abstract image(state: Partial<ImageState>): Render2DPaintContext;
90
+ /** Declare a regular polygon (triangle, pentagon, …). */
91
+ abstract polygon(state: Partial<PolygonState>): Render2DPaintContext;
92
+ /** Declare a star / polygram. */
93
+ abstract polygram(state: Partial<PolygramState>): Render2DPaintContext;
94
+ }
95
+ /**
96
+ * The context returned after a shape is declared. It extends `Render2DContext`
97
+ * so further shapes can be chained — multiple shapes drawn before a paint call
98
+ * accumulate and are painted together:
99
+ *
100
+ * draw.ellipse(...).rect(...).fill(...) // both shapes share one fill
101
+ *
102
+ * `cut()` uses the most-recently drawn shape as a cutter: it unions the shapes
103
+ * before it and subtracts that last shape, so only it punches a hole. Shapes
104
+ * drawn after `cut()` are added back, and the whole result paints as one
105
+ * surface — a single gradient maps across all of it:
106
+ *
107
+ * draw.rect(...).ellipse(...).cut().rect(...).fill(gradient)
108
+ * // rect ∪ (previous) − ellipse, then ∪ the trailing rect
109
+ */
110
+ export interface Render2DPaintContext extends Render2DContext {
111
+ fill(fills: FillProp | FillProp[]): Render2DPaintContext;
112
+ stroke(strokes: StrokeProp | StrokeProp[]): Render2DPaintContext;
113
+ shadow(shadows: ShadowProp | ShadowProp[]): Render2DPaintContext;
114
+ /**
115
+ * Use the last-drawn shape as a cutter: union the shapes before it and
116
+ * subtract that last shape, leaving the result as the current shape so
117
+ * subsequent shapes and paint calls treat everything as a single surface.
118
+ */
119
+ cut(): Render2DPaintContext;
120
+ /**
121
+ * Switch a mask scope from mask-collection phase to content phase. Call
122
+ * after drawing the mask shape(s) following `RenderContext.mask()`:
123
+ *
124
+ * draw.mask({ mode: 'alpha' })
125
+ * .ellipse({...}).fill(maskFill)
126
+ * .applyMask()
127
+ * .rect({...}).fill(this.fill).stroke(this.stroke)
128
+ * .endMask();
129
+ */
130
+ applyMask(): Render2DPaintContext;
131
+ /** Close the mask scope opened by `RenderContext.mask()`. */
132
+ endMask(): void;
133
+ }
134
+ /**
135
+ * The full rendering context passed to every scene-graph node when it draws
136
+ * itself. Combines shape drawing (`Render2DContext`), text measurement
137
+ * (`MeasureScope`), and higher-level scoping operations (transforms, masks,
138
+ * clips, camera, boolean ops, backdrop effects).
139
+ *
140
+ * `begin(id)` / `end()` bracket each node's draw call so the context can
141
+ * track which node is active and look up per-node state (space rects, etc.).
142
+ * The concrete implementations (`CanvasKitRenderContext`, `SvgRenderContext`,
143
+ * …) translate these abstract calls into renderer-specific drawing commands.
144
+ */
145
+ export declare abstract class RenderContext extends Render2DContext implements MeasureScope {
146
+ abstract measureText(text: string, fontSize: number, fontFamily: string, fontWeight?: number, letterSpacing?: number, fontStyle?: FontStyle): number;
147
+ /** Stack of node ids currently being drawn, innermost last. */
148
+ protected currentNodeStack: string[];
149
+ /** Returns the id of the innermost node currently being drawn. */
150
+ protected currentNodeId(): string;
151
+ /** Remove all renderer-side resources for the current node (called on unmount). */
152
+ abstract unmount(): void;
153
+ private _disposed;
154
+ /** `true` after `dispose()` — the context must not be used after this point. */
155
+ isDisposed(): boolean;
156
+ dispose(): void;
157
+ /**
158
+ * Execute `callback`, which issues shape/paint calls, and flush the result
159
+ * to the underlying render target (canvas, SVG document, etc.).
160
+ */
161
+ abstract render(callback: () => void): void;
162
+ /** Capture the current frame as a base-64 PNG data URL, or `undefined` if unsupported. */
163
+ abstract screenshot(): string | undefined;
164
+ /**
165
+ * Push a transform (position, rotation, scale, opacity, …) and return
166
+ * `this` so subsequent draw calls are issued in the transformed space.
167
+ * The transform is popped when `end()` is called for the node that pushed it.
168
+ */
169
+ abstract transform(state: Partial<TransformState>): RenderContext;
170
+ /**
171
+ * Open a boolean-path collection scope. Shapes drawn until `endBoolean()`
172
+ * are gathered (fills/strokes suppressed) and combined with `op`. The
173
+ * merged path is returned as a `Render2DPaintContext` so callers can
174
+ * style the combined result with `.fill()` / `.stroke()` / `.shadow()`.
175
+ */
176
+ abstract beginBoolean(op: BooleanOperation): void;
177
+ abstract endBoolean(): Render2DPaintContext;
178
+ abstract mask(options?: MaskOptions): Render2DPaintContext;
179
+ abstract beginMask(options?: MaskOptions): void;
180
+ abstract applyMask(): Render2DPaintContext;
181
+ abstract endMask(): void;
182
+ /**
183
+ * Push a rectangular clip region so children are confined to the node's
184
+ * rect boundary. Paired with `endClip()`.
185
+ */
186
+ abstract beginClipRect(state: Partial<RectState>): void;
187
+ /** Push an elliptical clip region. Paired with `endClip()`. */
188
+ abstract beginClipEllipse(state: Partial<EllipseState>): void;
189
+ /** Pop the most-recently pushed clip region. */
190
+ abstract endClip(): void;
191
+ /**
192
+ * Push a silhouette clip built from `shape`'s outline — used by backdrop
193
+ * effects to confine the effect to the node's exact boundary regardless of
194
+ * shape type. Paired with `endClip()`. No-op by default; renderers that
195
+ * don't support it can leave this unimplemented.
196
+ */
197
+ beginClipShape(_shape: ClipShape): void;
198
+ /**
199
+ * Open a backdrop-blur layer. The already-painted canvas beneath the node
200
+ * is blurred by `radius` and composited back, clipped to the active
201
+ * silhouette clip. No-op by default.
202
+ */
203
+ beginBackgroundBlur(_radius: number): void;
204
+ endBackgroundBlur(): void;
205
+ /**
206
+ * Open a backdrop-distortion (bulge/pinch or zoom) layer. The backdrop is
207
+ * warped by a lens centred on the node (`width` × `height`), clipped to
208
+ * the active silhouette clip. No-op by default.
209
+ */
210
+ beginBackgroundDistortion(_effect: BulgePinchEffect | ZoomEffect, _width: number, _height: number): void;
211
+ endBackgroundDistortion(): void;
212
+ /**
213
+ * Open a custom SkSL backdrop layer. The shader receives
214
+ * `uniform shader u_backdrop` (a snapshot of the canvas beneath the node)
215
+ * and can produce distortion, ripple, refraction, etc., clipped to the
216
+ * active silhouette clip. No-op by default.
217
+ */
218
+ beginBackdropSkSL(_effect: SkSLEffect, _width: number, _height: number): void;
219
+ endBackdropSkSL(): void;
220
+ /**
221
+ * Push a camera viewport. Clips to `viewport` (canvas-space, centred
222
+ * coords) and applies the inverse camera transform so children render as
223
+ * seen through the lens. `heading` rotates the world counter to the camera
224
+ * angle. Paired with `endCamera()`.
225
+ *
226
+ * @param viewport Bounding rect of the camera node in canvas space.
227
+ * @param centerOn World-space point the camera looks at.
228
+ * @param zoom Uniform scale applied around `centerOn`.
229
+ * @param heading Camera rotation in degrees.
230
+ */
231
+ abstract beginCamera(viewport: {
232
+ x: number;
233
+ y: number;
234
+ width: number;
235
+ height: number;
236
+ }, centerOn: Vector2, zoom: number, heading: number): void;
237
+ abstract endCamera(): void;
238
+ /**
239
+ * Reference rects (parent frame / viewport) for each node on the draw
240
+ * stack, in the node's local space. Kept parallel to `currentNodeStack`
241
+ * so fills with `space: 'parent' | 'view'` can resolve against them.
242
+ */
243
+ protected spaceRectsStack: SpaceRects[];
244
+ /**
245
+ * Open a node draw scope. Must be paired with `end()`. Pushes `id` onto
246
+ * the node stack and records the optional `rects` for gradient-space
247
+ * resolution.
248
+ *
249
+ * @param id Stable node identifier (used for layer caching, etc.).
250
+ * @param rects Parent / viewport rects in this node's local space.
251
+ */
252
+ begin(id: string, rects?: SpaceRects): void;
253
+ /** Close the innermost node draw scope opened by `begin()`. */
254
+ end(): void;
255
+ /** Reference rects for the node currently being drawn (parent / viewport). */
256
+ protected currentSpaceRects(): SpaceRects;
257
+ }
258
+ //# sourceMappingURL=render-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/render/render-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Low-level shape-drawing API. Each method declares a shape and returns a
3
+ * `Render2DPaintContext` that lets you chain further shapes and apply paint
4
+ * (fill / stroke / shadow). Multiple shapes chained before a paint call are
5
+ * combined into a single surface and painted together.
6
+ */
7
+ export class Render2DContext {
8
+ }
9
+ /**
10
+ * The full rendering context passed to every scene-graph node when it draws
11
+ * itself. Combines shape drawing (`Render2DContext`), text measurement
12
+ * (`MeasureScope`), and higher-level scoping operations (transforms, masks,
13
+ * clips, camera, boolean ops, backdrop effects).
14
+ *
15
+ * `begin(id)` / `end()` bracket each node's draw call so the context can
16
+ * track which node is active and look up per-node state (space rects, etc.).
17
+ * The concrete implementations (`CanvasKitRenderContext`, `SvgRenderContext`,
18
+ * …) translate these abstract calls into renderer-specific drawing commands.
19
+ */
20
+ export class RenderContext extends Render2DContext {
21
+ /** Stack of node ids currently being drawn, innermost last. */
22
+ currentNodeStack = [];
23
+ /** Returns the id of the innermost node currently being drawn. */
24
+ currentNodeId() {
25
+ if (this.currentNodeStack.length === 0) {
26
+ throw new Error("No current node in context");
27
+ }
28
+ return this.currentNodeStack[this.currentNodeStack.length - 1];
29
+ }
30
+ _disposed = false;
31
+ /** `true` after `dispose()` — the context must not be used after this point. */
32
+ isDisposed() {
33
+ return this._disposed;
34
+ }
35
+ dispose() {
36
+ this._disposed = true;
37
+ }
38
+ /**
39
+ * Push a silhouette clip built from `shape`'s outline — used by backdrop
40
+ * effects to confine the effect to the node's exact boundary regardless of
41
+ * shape type. Paired with `endClip()`. No-op by default; renderers that
42
+ * don't support it can leave this unimplemented.
43
+ */
44
+ beginClipShape(_shape) { }
45
+ /**
46
+ * Open a backdrop-blur layer. The already-painted canvas beneath the node
47
+ * is blurred by `radius` and composited back, clipped to the active
48
+ * silhouette clip. No-op by default.
49
+ */
50
+ beginBackgroundBlur(_radius) { }
51
+ endBackgroundBlur() { }
52
+ /**
53
+ * Open a backdrop-distortion (bulge/pinch or zoom) layer. The backdrop is
54
+ * warped by a lens centred on the node (`width` × `height`), clipped to
55
+ * the active silhouette clip. No-op by default.
56
+ */
57
+ beginBackgroundDistortion(_effect, _width, _height) { }
58
+ endBackgroundDistortion() { }
59
+ /**
60
+ * Open a custom SkSL backdrop layer. The shader receives
61
+ * `uniform shader u_backdrop` (a snapshot of the canvas beneath the node)
62
+ * and can produce distortion, ripple, refraction, etc., clipped to the
63
+ * active silhouette clip. No-op by default.
64
+ */
65
+ beginBackdropSkSL(_effect, _width, _height) { }
66
+ endBackdropSkSL() { }
67
+ /**
68
+ * Reference rects (parent frame / viewport) for each node on the draw
69
+ * stack, in the node's local space. Kept parallel to `currentNodeStack`
70
+ * so fills with `space: 'parent' | 'view'` can resolve against them.
71
+ */
72
+ spaceRectsStack = [];
73
+ /**
74
+ * Open a node draw scope. Must be paired with `end()`. Pushes `id` onto
75
+ * the node stack and records the optional `rects` for gradient-space
76
+ * resolution.
77
+ *
78
+ * @param id Stable node identifier (used for layer caching, etc.).
79
+ * @param rects Parent / viewport rects in this node's local space.
80
+ */
81
+ begin(id, rects) {
82
+ this.currentNodeStack.push(id);
83
+ this.spaceRectsStack.push(rects ?? {});
84
+ }
85
+ /** Close the innermost node draw scope opened by `begin()`. */
86
+ end() {
87
+ this.currentNodeStack.pop();
88
+ this.spaceRectsStack.pop();
89
+ }
90
+ /** Reference rects for the node currently being drawn (parent / viewport). */
91
+ currentSpaceRects() {
92
+ return this.spaceRectsStack[this.spaceRectsStack.length - 1] ?? {};
93
+ }
94
+ }
95
+ //# sourceMappingURL=render-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-context.js","sourceRoot":"","sources":["../../src/render/render-context.ts"],"names":[],"mappings":"AAqEA;;;;;GAKG;AACH,MAAM,OAAgB,eAAe;CAmBpC;AA6CD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,aAAc,SAAQ,eAAe;IAGvD,+DAA+D;IACrD,gBAAgB,GAAa,EAAE,CAAC;IAE1C,kEAAkE;IACxD,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAKO,SAAS,GAAG,KAAK,CAAC;IAC1B,gFAAgF;IAChF,UAAU;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,OAAO;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAkED;;;;;OAKG;IACH,cAAc,CAAC,MAAiB,IAAU,CAAC;IAE3C;;;;OAIG;IACH,mBAAmB,CAAC,OAAe,IAAU,CAAC;IAC9C,iBAAiB,KAAW,CAAC;IAE7B;;;;OAIG;IACH,yBAAyB,CAAC,OAAsC,EAAE,MAAc,EAAE,OAAe,IAAU,CAAC;IAC5G,uBAAuB,KAAW,CAAC;IAEnC;;;;;OAKG;IACH,iBAAiB,CAAC,OAAmB,EAAE,MAAc,EAAE,OAAe,IAAU,CAAC;IACjF,eAAe,KAAW,CAAC;IAkB3B;;;;OAIG;IACO,eAAe,GAAiB,EAAE,CAAC;IAE7C;;;;;;;OAOG;IACH,KAAK,CAAC,EAAU,EAAE,KAAkB;QAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,+DAA+D;IAC/D,GAAG;QACC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,8EAA8E;IACpE,iBAAiB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;CAIJ"}
@@ -0,0 +1,4 @@
1
+ export * from './playback-controller';
2
+ export * from './state-evaluator';
3
+ export * from './precompisition';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './playback-controller';
2
+ export * from './state-evaluator';
3
+ export * from './precompisition';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { MeasureScope } from "../render/measure-scope";
2
+ import { RenderContext } from "../render/render-context";
3
+ import { NodeState, TreeState } from "../project/tree";
4
+ import { StorageAdapter } from "../platform/storage-adapter";
5
+ import { Precomp, PrecompResult } from "./precompisition";
6
+ import { Scene } from "../nodes/base/scene-node";
7
+ import { MasterClock, TimeCallback } from "../platform/master-clock";
8
+ import { AudioDevice } from "../platform/audio-device";
9
+ import { AssetCatalog } from "../assets/catalog";
10
+ import { Size2D } from "../attributes/layout/size";
11
+ import { Node } from "../nodes/base/node";
12
+ /** Dependencies injected into `PlaybackController` at construction time. */
13
+ export type ControllerParams = {
14
+ renderContext: RenderContext;
15
+ measureScope: MeasureScope;
16
+ storageAdapter: StorageAdapter;
17
+ masterClock: MasterClock;
18
+ audioDevice: AudioDevice;
19
+ assets: AssetCatalog;
20
+ precomposition: Precomp;
21
+ fps: number;
22
+ viewport: Size2D;
23
+ scenes: Scene[];
24
+ };
25
+ /**
26
+ * Orchestrates playback of a compiled motion-script project.
27
+ *
28
+ * On construction it runs the precomp pass (`Precomp.run()`) to build the
29
+ * global asset timeline and node lifespans, then wires the master clock to
30
+ * the audio device and render pipeline so every tick:
31
+ *
32
+ * 1. Loads assets required at the current frame (`AssetManager.loadAt`).
33
+ * 2. Evaluates scene state and lays out nodes (`StateEvaluator`).
34
+ * 3. Renders the frame to the render context.
35
+ * 4. Prefetches assets for upcoming frames.
36
+ *
37
+ * External callers interact via `play`, `pause`, `seek`, `seekWhilePlaying`,
38
+ * `screenshot`, `getTreeState`, and `getNodeState`.
39
+ */
40
+ export declare class PlaybackController {
41
+ private renderContext;
42
+ private measureScope;
43
+ private storageAdapter;
44
+ private masterClock;
45
+ private stateEvaluator;
46
+ private assetManager;
47
+ private audioDevice;
48
+ readonly fps: number;
49
+ readonly viewport: Size2D;
50
+ readonly precomp: PrecompResult;
51
+ /** Per-scene frame counts in timeline order, used to build the track list. */
52
+ get tracks(): number[];
53
+ /** Total frame count across all scenes. */
54
+ get totalFrames(): number;
55
+ /** Total playback duration in seconds. */
56
+ get totalDuration(): number;
57
+ /** Errors collected during the precomp pass (one entry per failing scene). */
58
+ get buildErrors(): import("./precompisition").BuildError[];
59
+ constructor(params: ControllerParams);
60
+ get isPlaying(): boolean;
61
+ /** Current playback position in seconds. */
62
+ get currentTime(): number;
63
+ /** Current playback position in frames (float). */
64
+ get currentFrame(): number;
65
+ /** Register a callback that fires on every clock tick with the current time. */
66
+ onTime(cb: TimeCallback): void;
67
+ /** Register a callback that fires when playback starts. */
68
+ onPlay(cb: () => void): void;
69
+ /** Register a callback that fires when playback pauses. */
70
+ onPause(cb: () => void): void;
71
+ /**
72
+ * Evaluate scene state, lay out nodes, and render `frame` to the render
73
+ * context. Called on every clock tick and also directly by `seek` /
74
+ * `screenshot` to ensure the surface is up-to-date.
75
+ */
76
+ private renderAt;
77
+ /**
78
+ * Jump to `frame`, pausing playback first. Waits for required assets to
79
+ * load before rendering, then prefetches upcoming frames.
80
+ */
81
+ seek(frame: number): Promise<void>;
82
+ /** Reposition the clock to `frame` without interrupting playback. */
83
+ seekWhilePlaying(frame: number): void;
84
+ /**
85
+ * Capture the current frame as a base-64 PNG data URL. Forces a fresh
86
+ * render before snapshotting because the WebGL drawing buffer may have
87
+ * been cleared since the last tick (we don't set `preserveDrawingBuffer`).
88
+ * Uses `stateEvaluator.currentFrame` (integer) rather than the clock's
89
+ * float so `stateAt` always hits its early-return and never resets scene state.
90
+ */
91
+ screenshot(): string | undefined;
92
+ /**
93
+ * Return the full node tree for the current scene, with lifespan frame
94
+ * ranges and waveform data attached. Used by the timeline UI.
95
+ * Returns `null` when no scene is active.
96
+ */
97
+ getTreeState(): TreeState | null;
98
+ getNodeState(nodeId: string): NodeState | null;
99
+ play(speed?: number, reverse?: boolean): void;
100
+ pause(): void;
101
+ setMuted(muted: boolean): void;
102
+ dispose(): void;
103
+ }
104
+ export declare function isParentNode(node: Node): boolean;
105
+ //# sourceMappingURL=playback-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/playback-controller.ts"],"names":[],"mappings":"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"}