@allyhub/sdk 0.1.0-alpha.8 → 0.2.0-next.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 (365) hide show
  1. package/LICENSE.md +241 -0
  2. package/NOTICE +85 -0
  3. package/client.d.ts +45 -1
  4. package/dist/anim.js +2 -75
  5. package/dist/define.d.ts +10 -4
  6. package/dist/define.js +2 -95
  7. package/dist/dom.d.ts +1 -1
  8. package/dist/dom.js +2 -457
  9. package/dist/fit.js +2 -60
  10. package/dist/free.d.ts +18 -0
  11. package/dist/free.js +2 -0
  12. package/dist/index.d.ts +28 -13
  13. package/dist/index.js +2 -11
  14. package/dist/input.d.ts +306 -0
  15. package/dist/input.js +2 -0
  16. package/dist/media.d.ts +3 -6
  17. package/dist/media.js +2 -27
  18. package/dist/messages.d.ts +3 -2
  19. package/dist/messages.js +2 -2
  20. package/dist/module.d.ts +24 -0
  21. package/dist/module.js +2 -0
  22. package/dist/noise.js +2 -233
  23. package/dist/parts.d.ts +98 -22
  24. package/dist/parts.js +2 -414
  25. package/dist/paths.d.ts +1 -1
  26. package/dist/paths.js +2 -720
  27. package/dist/phone.d.ts +26 -0
  28. package/dist/phone.js +2 -0
  29. package/dist/piece.d.ts +106 -35
  30. package/dist/piece.js +2 -38
  31. package/dist/props.d.ts +1 -1
  32. package/dist/props.js +2 -35
  33. package/dist/scenery.d.ts +2 -0
  34. package/dist/scenery.js +2 -0
  35. package/dist/text.js +2 -38
  36. package/dist/written.d.ts +12 -0
  37. package/dist/written.js +2 -0
  38. package/docs/README.md +18 -0
  39. package/docs/batches.md +148 -0
  40. package/docs/contract.md +51 -0
  41. package/docs/defaults.md +703 -0
  42. package/docs/docs.md +148 -0
  43. package/docs/footage.md +249 -0
  44. package/docs/layers.md +317 -0
  45. package/docs/modeling.md +143 -0
  46. package/docs/project.md +265 -0
  47. package/docs/scenery.md +308 -0
  48. package/docs/sheets.md +119 -0
  49. package/docs/slides.md +111 -0
  50. package/docs/sound.md +170 -0
  51. package/docs/speech.md +289 -0
  52. package/docs/video.md +265 -0
  53. package/node_modules/@allyhub-next/audio/LICENSE +241 -0
  54. package/node_modules/@allyhub-next/audio/dist/at-cut.d.ts +52 -0
  55. package/node_modules/@allyhub-next/audio/dist/at-cut.js +2 -0
  56. package/node_modules/@allyhub-next/audio/dist/decode.d.ts +33 -0
  57. package/node_modules/@allyhub-next/audio/dist/decode.js +2 -0
  58. package/node_modules/@allyhub-next/audio/dist/envelope.d.ts +37 -0
  59. package/node_modules/@allyhub-next/audio/dist/envelope.js +2 -0
  60. package/node_modules/@allyhub-next/audio/dist/index.d.ts +17 -0
  61. package/node_modules/@allyhub-next/audio/dist/index.js +2 -0
  62. package/node_modules/@allyhub-next/audio/dist/levels.d.ts +97 -0
  63. package/node_modules/@allyhub-next/audio/dist/levels.js +2 -0
  64. package/node_modules/@allyhub-next/audio/dist/master.d.ts +29 -0
  65. package/node_modules/@allyhub-next/audio/dist/master.js +2 -0
  66. package/node_modules/@allyhub-next/audio/dist/music.d.ts +11 -0
  67. package/node_modules/@allyhub-next/audio/dist/music.js +2 -0
  68. package/node_modules/@allyhub-next/audio/dist/node/decode.d.ts +39 -0
  69. package/node_modules/@allyhub-next/audio/dist/node/decode.js +2 -0
  70. package/node_modules/@allyhub-next/audio/dist/node/ebur128.d.ts +25 -0
  71. package/node_modules/@allyhub-next/audio/dist/node/ebur128.js +2 -0
  72. package/node_modules/@allyhub-next/audio/dist/node/ffmpeg.d.ts +31 -0
  73. package/node_modules/@allyhub-next/audio/dist/node/ffmpeg.js +2 -0
  74. package/node_modules/@allyhub-next/audio/dist/node/index.d.ts +8 -0
  75. package/node_modules/@allyhub-next/audio/dist/node/index.js +2 -0
  76. package/node_modules/@allyhub-next/audio/dist/node/loudness.d.ts +18 -0
  77. package/node_modules/@allyhub-next/audio/dist/node/loudness.js +2 -0
  78. package/node_modules/@allyhub-next/audio/dist/node/master.d.ts +42 -0
  79. package/node_modules/@allyhub-next/audio/dist/node/master.js +2 -0
  80. package/node_modules/@allyhub-next/audio/dist/node/measure.d.ts +60 -0
  81. package/node_modules/@allyhub-next/audio/dist/node/measure.js +2 -0
  82. package/node_modules/@allyhub-next/audio/dist/node/mix.d.ts +31 -0
  83. package/node_modules/@allyhub-next/audio/dist/node/mix.js +2 -0
  84. package/node_modules/@allyhub-next/audio/dist/plan.d.ts +143 -0
  85. package/node_modules/@allyhub-next/audio/dist/plan.js +2 -0
  86. package/node_modules/@allyhub-next/audio/dist/recorded.d.ts +26 -0
  87. package/node_modules/@allyhub-next/audio/dist/recorded.js +2 -0
  88. package/node_modules/@allyhub-next/audio/dist/recording/bandwidth.d.ts +47 -0
  89. package/node_modules/@allyhub-next/audio/dist/recording/bandwidth.js +2 -0
  90. package/node_modules/@allyhub-next/audio/dist/recording/chain.d.ts +89 -0
  91. package/node_modules/@allyhub-next/audio/dist/recording/chain.js +2 -0
  92. package/node_modules/@allyhub-next/audio/dist/recording/dynamics.d.ts +64 -0
  93. package/node_modules/@allyhub-next/audio/dist/recording/dynamics.js +2 -0
  94. package/node_modules/@allyhub-next/audio/dist/recording/fft.d.ts +26 -0
  95. package/node_modules/@allyhub-next/audio/dist/recording/fft.js +2 -0
  96. package/node_modules/@allyhub-next/audio/dist/recording/filters.d.ts +42 -0
  97. package/node_modules/@allyhub-next/audio/dist/recording/filters.js +2 -0
  98. package/node_modules/@allyhub-next/audio/dist/recording/fit.d.ts +56 -0
  99. package/node_modules/@allyhub-next/audio/dist/recording/fit.js +2 -0
  100. package/node_modules/@allyhub-next/audio/dist/recording/index.d.ts +10 -0
  101. package/node_modules/@allyhub-next/audio/dist/recording/index.js +2 -0
  102. package/node_modules/@allyhub-next/audio/dist/recording/loudness.d.ts +12 -0
  103. package/node_modules/@allyhub-next/audio/dist/recording/loudness.js +2 -0
  104. package/node_modules/@allyhub-next/audio/dist/recording/measure.d.ts +67 -0
  105. package/node_modules/@allyhub-next/audio/dist/recording/measure.js +2 -0
  106. package/node_modules/@allyhub-next/audio/dist/recording/mic.d.ts +32 -0
  107. package/node_modules/@allyhub-next/audio/dist/recording/mic.js +2 -0
  108. package/node_modules/@allyhub-next/audio/dist/recording/noise.d.ts +27 -0
  109. package/node_modules/@allyhub-next/audio/dist/recording/noise.js +2 -0
  110. package/node_modules/@allyhub-next/audio/dist/recording/presets.d.ts +64 -0
  111. package/node_modules/@allyhub-next/audio/dist/recording/presets.js +2 -0
  112. package/node_modules/@allyhub-next/audio/dist/recording/room.d.ts +78 -0
  113. package/node_modules/@allyhub-next/audio/dist/recording/room.js +2 -0
  114. package/node_modules/@allyhub-next/audio/dist/recording/setup.d.ts +111 -0
  115. package/node_modules/@allyhub-next/audio/dist/recording/setup.js +2 -0
  116. package/node_modules/@allyhub-next/audio/dist/recording/vec.d.ts +3 -0
  117. package/node_modules/@allyhub-next/audio/dist/recording/vec.js +2 -0
  118. package/node_modules/@allyhub-next/audio/dist/render.d.ts +26 -0
  119. package/node_modules/@allyhub-next/audio/dist/render.js +2 -0
  120. package/node_modules/@allyhub-next/audio/dist/sfx.d.ts +10 -0
  121. package/node_modules/@allyhub-next/audio/dist/sfx.js +2 -0
  122. package/node_modules/@allyhub-next/audio/dist/shape.d.ts +118 -0
  123. package/node_modules/@allyhub-next/audio/dist/shape.js +2 -0
  124. package/node_modules/@allyhub-next/audio/dist/voice.d.ts +45 -0
  125. package/node_modules/@allyhub-next/audio/dist/voice.js +2 -0
  126. package/node_modules/@allyhub-next/audio/package.json +17 -0
  127. package/node_modules/@allyhub-next/formats/LICENSE +241 -0
  128. package/node_modules/@allyhub-next/formats/dist/data/comments.d.ts +94 -0
  129. package/node_modules/@allyhub-next/formats/dist/data/comments.js +2 -0
  130. package/node_modules/@allyhub-next/formats/dist/data/config.d.ts +10 -0
  131. package/node_modules/@allyhub-next/formats/dist/data/config.js +2 -0
  132. package/node_modules/@allyhub-next/formats/dist/data/edits.d.ts +28 -0
  133. package/node_modules/@allyhub-next/formats/dist/data/edits.js +2 -0
  134. package/node_modules/@allyhub-next/formats/dist/data/elements.d.ts +6 -0
  135. package/node_modules/@allyhub-next/formats/dist/data/elements.js +2 -0
  136. package/node_modules/@allyhub-next/formats/dist/data/faces.d.ts +38 -0
  137. package/node_modules/@allyhub-next/formats/dist/data/faces.js +2 -0
  138. package/node_modules/@allyhub-next/formats/dist/data/file.d.ts +11 -0
  139. package/node_modules/@allyhub-next/formats/dist/data/file.js +2 -0
  140. package/node_modules/@allyhub-next/formats/dist/data/gen.d.ts +31 -0
  141. package/node_modules/@allyhub-next/formats/dist/data/gen.js +2 -0
  142. package/node_modules/@allyhub-next/formats/dist/data/messages.d.ts +34 -0
  143. package/node_modules/@allyhub-next/formats/dist/data/messages.js +2 -0
  144. package/node_modules/@allyhub-next/formats/dist/data/reference.d.ts +676 -0
  145. package/node_modules/@allyhub-next/formats/dist/data/reference.js +2 -0
  146. package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +37 -0
  147. package/node_modules/@allyhub-next/formats/dist/data/script.js +2 -0
  148. package/node_modules/@allyhub-next/formats/dist/data/sheet.d.ts +214 -0
  149. package/node_modules/@allyhub-next/formats/dist/data/sheet.js +2 -0
  150. package/node_modules/@allyhub-next/formats/dist/data/words.d.ts +25 -0
  151. package/node_modules/@allyhub-next/formats/dist/data/words.js +2 -0
  152. package/node_modules/@allyhub-next/formats/dist/index.d.ts +16 -0
  153. package/node_modules/@allyhub-next/formats/dist/index.js +2 -0
  154. package/node_modules/@allyhub-next/formats/dist/items.d.ts +94 -0
  155. package/node_modules/@allyhub-next/formats/dist/items.js +2 -0
  156. package/node_modules/@allyhub-next/formats/dist/layout.d.ts +50 -0
  157. package/node_modules/@allyhub-next/formats/dist/layout.js +5 -0
  158. package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +301 -0
  159. package/node_modules/@allyhub-next/formats/dist/schemas.js +2 -0
  160. package/node_modules/@allyhub-next/formats/package.json +14 -0
  161. package/node_modules/@allyhub-next/protocol/LICENSE +241 -0
  162. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +98 -0
  163. package/node_modules/@allyhub-next/protocol/dist/app.js +2 -0
  164. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +116 -0
  165. package/node_modules/@allyhub-next/protocol/dist/auth.js +2 -0
  166. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +59 -0
  167. package/node_modules/@allyhub-next/protocol/dist/cli.js +2 -0
  168. package/node_modules/@allyhub-next/protocol/dist/cloud.d.ts +274 -0
  169. package/node_modules/@allyhub-next/protocol/dist/cloud.js +2 -0
  170. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +405 -0
  171. package/node_modules/@allyhub-next/protocol/dist/editor.js +2 -0
  172. package/node_modules/@allyhub-next/protocol/dist/files.d.ts +101 -0
  173. package/node_modules/@allyhub-next/protocol/dist/files.js +2 -0
  174. package/node_modules/@allyhub-next/protocol/dist/index.d.ts +12 -0
  175. package/node_modules/@allyhub-next/protocol/dist/index.js +2 -0
  176. package/node_modules/@allyhub-next/protocol/dist/jsonrpc.d.ts +83 -0
  177. package/node_modules/@allyhub-next/protocol/dist/jsonrpc.js +2 -0
  178. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +53 -0
  179. package/node_modules/@allyhub-next/protocol/dist/registry.js +2 -0
  180. package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +93 -0
  181. package/node_modules/@allyhub-next/protocol/dist/runtimes.js +2 -0
  182. package/node_modules/@allyhub-next/protocol/dist/teams.d.ts +67 -0
  183. package/node_modules/@allyhub-next/protocol/dist/teams.js +2 -0
  184. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +345 -0
  185. package/node_modules/@allyhub-next/protocol/dist/tools.js +2 -0
  186. package/node_modules/@allyhub-next/protocol/package.json +13 -0
  187. package/node_modules/@allyhub-next/runtimes/LICENSE +241 -0
  188. package/node_modules/@allyhub-next/runtimes/dist/bundled.d.ts +10 -0
  189. package/node_modules/@allyhub-next/runtimes/dist/bundled.js +2 -0
  190. package/node_modules/@allyhub-next/runtimes/dist/download.d.ts +15 -0
  191. package/node_modules/@allyhub-next/runtimes/dist/download.js +2 -0
  192. package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +16 -0
  193. package/node_modules/@allyhub-next/runtimes/dist/errors.js +2 -0
  194. package/node_modules/@allyhub-next/runtimes/dist/home.d.ts +2 -0
  195. package/node_modules/@allyhub-next/runtimes/dist/home.js +2 -0
  196. package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +9 -0
  197. package/node_modules/@allyhub-next/runtimes/dist/index.js +2 -0
  198. package/node_modules/@allyhub-next/runtimes/dist/lock.d.ts +6 -0
  199. package/node_modules/@allyhub-next/runtimes/dist/lock.js +2 -0
  200. package/node_modules/@allyhub-next/runtimes/dist/manifest.d.ts +3 -0
  201. package/node_modules/@allyhub-next/runtimes/dist/manifest.js +2 -0
  202. package/node_modules/@allyhub-next/runtimes/dist/runtimes.d.ts +63 -0
  203. package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +3 -0
  204. package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
  205. package/node_modules/@allyhub-next/runtimes/dist/unpack.js +2 -0
  206. package/node_modules/@allyhub-next/runtimes/manifest.json +395 -0
  207. package/node_modules/@allyhub-next/runtimes/package.json +14 -0
  208. package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +153 -0
  209. package/node_modules/@allyhub-next/scenery/LICENSE +241 -0
  210. package/node_modules/@allyhub-next/scenery/NOTICE +42 -0
  211. package/node_modules/@allyhub-next/scenery/dist/aim.d.ts +55 -0
  212. package/node_modules/@allyhub-next/scenery/dist/aim.js +2 -0
  213. package/node_modules/@allyhub-next/scenery/dist/bake.d.ts +203 -0
  214. package/node_modules/@allyhub-next/scenery/dist/bake.js +2 -0
  215. package/node_modules/@allyhub-next/scenery/dist/camera.d.ts +150 -0
  216. package/node_modules/@allyhub-next/scenery/dist/camera.js +2 -0
  217. package/node_modules/@allyhub-next/scenery/dist/curve.d.ts +40 -0
  218. package/node_modules/@allyhub-next/scenery/dist/curve.js +2 -0
  219. package/node_modules/@allyhub-next/scenery/dist/define.d.ts +164 -0
  220. package/node_modules/@allyhub-next/scenery/dist/define.js +2 -0
  221. package/node_modules/@allyhub-next/scenery/dist/fit.d.ts +64 -0
  222. package/node_modules/@allyhub-next/scenery/dist/fit.js +2 -0
  223. package/node_modules/@allyhub-next/scenery/dist/glass.d.ts +34 -0
  224. package/node_modules/@allyhub-next/scenery/dist/glass.js +2 -0
  225. package/node_modules/@allyhub-next/scenery/dist/handheld.d.ts +184 -0
  226. package/node_modules/@allyhub-next/scenery/dist/handheld.js +2 -0
  227. package/node_modules/@allyhub-next/scenery/dist/hull.d.ts +23 -0
  228. package/node_modules/@allyhub-next/scenery/dist/hull.js +2 -0
  229. package/node_modules/@allyhub-next/scenery/dist/index.d.ts +22 -0
  230. package/node_modules/@allyhub-next/scenery/dist/index.js +2 -0
  231. package/node_modules/@allyhub-next/scenery/dist/lens.d.ts +48 -0
  232. package/node_modules/@allyhub-next/scenery/dist/lens.js +2 -0
  233. package/node_modules/@allyhub-next/scenery/dist/moire.d.ts +136 -0
  234. package/node_modules/@allyhub-next/scenery/dist/moire.js +93 -0
  235. package/node_modules/@allyhub-next/scenery/dist/motion.d.ts +48 -0
  236. package/node_modules/@allyhub-next/scenery/dist/motion.js +2 -0
  237. package/node_modules/@allyhub-next/scenery/dist/move.d.ts +260 -0
  238. package/node_modules/@allyhub-next/scenery/dist/move.js +2 -0
  239. package/node_modules/@allyhub-next/scenery/dist/noise.d.ts +41 -0
  240. package/node_modules/@allyhub-next/scenery/dist/noise.js +2 -0
  241. package/node_modules/@allyhub-next/scenery/dist/phone.d.ts +34 -0
  242. package/node_modules/@allyhub-next/scenery/dist/phone.js +2 -0
  243. package/node_modules/@allyhub-next/scenery/dist/report.d.ts +677 -0
  244. package/node_modules/@allyhub-next/scenery/dist/report.js +2 -0
  245. package/node_modules/@allyhub-next/scenery/dist/screen-focus.d.ts +55 -0
  246. package/node_modules/@allyhub-next/scenery/dist/screen-focus.js +2 -0
  247. package/node_modules/@allyhub-next/scenery/dist/screen.d.ts +71 -0
  248. package/node_modules/@allyhub-next/scenery/dist/screen.js +2 -0
  249. package/node_modules/@allyhub-next/scenery/dist/solve.d.ts +82 -0
  250. package/node_modules/@allyhub-next/scenery/dist/solve.js +2 -0
  251. package/node_modules/@allyhub-next/scenery/dist/timing.d.ts +26 -0
  252. package/node_modules/@allyhub-next/scenery/dist/timing.js +2 -0
  253. package/node_modules/@allyhub-next/scenery/dist/vec.d.ts +19 -0
  254. package/node_modules/@allyhub-next/scenery/dist/vec.js +2 -0
  255. package/node_modules/@allyhub-next/scenery/package.json +13 -0
  256. package/node_modules/@allyhub-next/video-core/LICENSE +241 -0
  257. package/node_modules/@allyhub-next/video-core/dist/anchors.d.ts +164 -0
  258. package/node_modules/@allyhub-next/video-core/dist/anchors.js +2 -0
  259. package/node_modules/@allyhub-next/video-core/dist/audio-types.d.ts +148 -0
  260. package/node_modules/@allyhub-next/video-core/dist/audio-types.js +2 -0
  261. package/node_modules/@allyhub-next/video-core/dist/backdrop.d.ts +87 -0
  262. package/node_modules/@allyhub-next/video-core/dist/backdrop.js +2 -0
  263. package/node_modules/@allyhub-next/video-core/dist/captions.d.ts +122 -0
  264. package/node_modules/@allyhub-next/video-core/dist/captions.js +11 -0
  265. package/node_modules/@allyhub-next/video-core/dist/console.d.ts +91 -0
  266. package/node_modules/@allyhub-next/video-core/dist/console.js +2 -0
  267. package/node_modules/@allyhub-next/video-core/dist/contrast.d.ts +98 -0
  268. package/node_modules/@allyhub-next/video-core/dist/contrast.js +2 -0
  269. package/node_modules/@allyhub-next/video-core/dist/cut-report.d.ts +77 -0
  270. package/node_modules/@allyhub-next/video-core/dist/cut-report.js +2 -0
  271. package/node_modules/@allyhub-next/video-core/dist/edit.d.ts +77 -0
  272. package/node_modules/@allyhub-next/video-core/dist/edit.js +13 -0
  273. package/node_modules/@allyhub-next/video-core/dist/edits.d.ts +163 -0
  274. package/node_modules/@allyhub-next/video-core/dist/edits.js +2 -0
  275. package/node_modules/@allyhub-next/video-core/dist/export.d.ts +96 -0
  276. package/node_modules/@allyhub-next/video-core/dist/export.js +2 -0
  277. package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +965 -0
  278. package/node_modules/@allyhub-next/video-core/dist/fact.js +2 -0
  279. package/node_modules/@allyhub-next/video-core/dist/footage-motion.d.ts +168 -0
  280. package/node_modules/@allyhub-next/video-core/dist/footage-motion.js +2 -0
  281. package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +240 -0
  282. package/node_modules/@allyhub-next/video-core/dist/formats.js +2 -0
  283. package/node_modules/@allyhub-next/video-core/dist/gen.d.ts +37 -0
  284. package/node_modules/@allyhub-next/video-core/dist/gen.js +2 -0
  285. package/node_modules/@allyhub-next/video-core/dist/index.d.ts +40 -0
  286. package/node_modules/@allyhub-next/video-core/dist/index.js +2 -0
  287. package/node_modules/@allyhub-next/video-core/dist/look.d.ts +66 -0
  288. package/node_modules/@allyhub-next/video-core/dist/look.js +2 -0
  289. package/node_modules/@allyhub-next/video-core/dist/marks.d.ts +34 -0
  290. package/node_modules/@allyhub-next/video-core/dist/marks.js +2 -0
  291. package/node_modules/@allyhub-next/video-core/dist/matrix.d.ts +289 -0
  292. package/node_modules/@allyhub-next/video-core/dist/matrix.js +2 -0
  293. package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +465 -0
  294. package/node_modules/@allyhub-next/video-core/dist/measure.js +5 -0
  295. package/node_modules/@allyhub-next/video-core/dist/media.d.ts +226 -0
  296. package/node_modules/@allyhub-next/video-core/dist/media.js +2 -0
  297. package/node_modules/@allyhub-next/video-core/dist/messages.d.ts +88 -0
  298. package/node_modules/@allyhub-next/video-core/dist/messages.js +2 -0
  299. package/node_modules/@allyhub-next/video-core/dist/motion.d.ts +56 -0
  300. package/node_modules/@allyhub-next/video-core/dist/motion.js +2 -0
  301. package/node_modules/@allyhub-next/video-core/dist/music.d.ts +110 -0
  302. package/node_modules/@allyhub-next/video-core/dist/music.js +2 -0
  303. package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +1146 -0
  304. package/node_modules/@allyhub-next/video-core/dist/piece.js +2 -0
  305. package/node_modules/@allyhub-next/video-core/dist/placement.d.ts +37 -0
  306. package/node_modules/@allyhub-next/video-core/dist/placement.js +2 -0
  307. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +262 -0
  308. package/node_modules/@allyhub-next/video-core/dist/problem.js +2 -0
  309. package/node_modules/@allyhub-next/video-core/dist/render-types.d.ts +49 -0
  310. package/node_modules/@allyhub-next/video-core/dist/render-types.js +2 -0
  311. package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +352 -0
  312. package/node_modules/@allyhub-next/video-core/dist/schema.js +2 -0
  313. package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +176 -0
  314. package/node_modules/@allyhub-next/video-core/dist/script-edit.js +2 -0
  315. package/node_modules/@allyhub-next/video-core/dist/script.d.ts +67 -0
  316. package/node_modules/@allyhub-next/video-core/dist/script.js +2 -0
  317. package/node_modules/@allyhub-next/video-core/dist/seams.d.ts +214 -0
  318. package/node_modules/@allyhub-next/video-core/dist/seams.js +2 -0
  319. package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +37 -0
  320. package/node_modules/@allyhub-next/video-core/dist/slides.js +2 -0
  321. package/node_modules/@allyhub-next/video-core/dist/sound-under.d.ts +72 -0
  322. package/node_modules/@allyhub-next/video-core/dist/sound-under.js +2 -0
  323. package/node_modules/@allyhub-next/video-core/dist/speech.d.ts +83 -0
  324. package/node_modules/@allyhub-next/video-core/dist/speech.js +5 -0
  325. package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +616 -0
  326. package/node_modules/@allyhub-next/video-core/dist/timeline.js +2 -0
  327. package/node_modules/@allyhub-next/video-core/dist/timing.d.ts +88 -0
  328. package/node_modules/@allyhub-next/video-core/dist/timing.js +2 -0
  329. package/node_modules/@allyhub-next/video-core/dist/transcript.d.ts +288 -0
  330. package/node_modules/@allyhub-next/video-core/dist/transcript.js +2 -0
  331. package/node_modules/@allyhub-next/video-core/dist/transition.d.ts +289 -0
  332. package/node_modules/@allyhub-next/video-core/dist/transition.js +2 -0
  333. package/node_modules/@allyhub-next/video-core/dist/voice.d.ts +175 -0
  334. package/node_modules/@allyhub-next/video-core/dist/voice.js +2 -0
  335. package/node_modules/@allyhub-next/video-core/dist/words.d.ts +128 -0
  336. package/node_modules/@allyhub-next/video-core/dist/words.js +2 -0
  337. package/node_modules/@allyhub-next/video-core/package.json +14 -0
  338. package/package.json +52 -41
  339. package/README.md +0 -17
  340. package/dist/anim.d.ts.map +0 -1
  341. package/dist/anim.js.map +0 -1
  342. package/dist/define.d.ts.map +0 -1
  343. package/dist/define.js.map +0 -1
  344. package/dist/dom.d.ts.map +0 -1
  345. package/dist/dom.js.map +0 -1
  346. package/dist/fit.d.ts.map +0 -1
  347. package/dist/fit.js.map +0 -1
  348. package/dist/index.d.ts.map +0 -1
  349. package/dist/index.js.map +0 -1
  350. package/dist/media.d.ts.map +0 -1
  351. package/dist/media.js.map +0 -1
  352. package/dist/messages.d.ts.map +0 -1
  353. package/dist/messages.js.map +0 -1
  354. package/dist/noise.d.ts.map +0 -1
  355. package/dist/noise.js.map +0 -1
  356. package/dist/parts.d.ts.map +0 -1
  357. package/dist/parts.js.map +0 -1
  358. package/dist/paths.d.ts.map +0 -1
  359. package/dist/paths.js.map +0 -1
  360. package/dist/piece.d.ts.map +0 -1
  361. package/dist/piece.js.map +0 -1
  362. package/dist/props.d.ts.map +0 -1
  363. package/dist/props.js.map +0 -1
  364. package/dist/text.d.ts.map +0 -1
  365. package/dist/text.js.map +0 -1
@@ -0,0 +1,616 @@
1
+ import { type TextAnchor } from "./anchors.js";
2
+ import type { PlatformProfile } from "./formats.js";
3
+ import type { Look } from "./look.js";
4
+ import type { MediaInfo, MediaKind } from "./media.js";
5
+ import type { FixedShape, MasterTargets, MixLevels, ResolvedShape, ResolvedVoice } from "./audio-types.js";
6
+ import type { MessagesFile } from "./messages.js";
7
+ import type { MessageHint, PartDefaults } from "./piece.js";
8
+ import type { Combo, Dims, MatrixRule, MatrixSpace } from "./matrix.js";
9
+ import type { Ease } from "./motion.js";
10
+ import type { PlacedStretch } from "./music.js";
11
+ import type { TimelineTransition } from "./transition.js";
12
+ import type { RoomLevel } from "./voice.js";
13
+ export interface LoadOptions {
14
+ /** The combo: one value per dimension, e.g. { lang: "zh-cn" }. */
15
+ combo: Combo;
16
+ purpose: "play" | "render" | "check";
17
+ /**
18
+ * The most different console messages kept from piece code (see
19
+ * console.ts); default CONSOLE_LIMIT.
20
+ */
21
+ consoleLimit?: number;
22
+ }
23
+ /** A data file ctx.data(path) can read: parsed, or why it could not be. */
24
+ export interface DataFile {
25
+ sha256: string;
26
+ value?: unknown;
27
+ error?: string;
28
+ }
29
+ /** What the host hands load(): one piece, as the build made it. */
30
+ export interface BuildSource {
31
+ /** The piece's id: seeds and problems use it. */
32
+ piece: string;
33
+ /**
34
+ * The piece's file, relative to the project root: a path its own options
35
+ * name (music, a LUT) and ctx.asset() are relative to it, unless the
36
+ * piece says where it was written (`base`).
37
+ */
38
+ file: string;
39
+ /** URL of the bundled piece module. */
40
+ module: string;
41
+ /** URLs of stylesheets the bundle imports. */
42
+ styles?: string[];
43
+ /** The piece's dimensions, as the build resolved them (lang filled in). */
44
+ dims: Dims;
45
+ /** Its slots, structures and rules, when it has slots (pools resolved). */
46
+ matrix?: {
47
+ space: MatrixSpace;
48
+ rules: MatrixRule[];
49
+ };
50
+ /**
51
+ * The piece's one format, as the build resolved it (the project's
52
+ * default filled in), e.g. "9x16". A piece has one output, its kind's.
53
+ */
54
+ format: string;
55
+ /** Locales, the default first. */
56
+ locales: string[];
57
+ /** Every message by locale: the messages files' and the items' scripts'. */
58
+ messages: Record<string, MessagesFile>;
59
+ /**
60
+ * locale → key → the anchors a script wrote in that line (@{name}), by
61
+ * their place in the line as spoken.
62
+ */
63
+ anchors?: Record<string, Record<string, TextAnchor[]>>;
64
+ /** The folder of the shared words (allyhub.config.ts's text); default assets/text. */
65
+ text?: string;
66
+ /** Repo path → media, with a URL valid in this page. */
67
+ media: Record<string, MediaInfo>;
68
+ /** Repo path → data files (CSV, YAML, JSON) that ctx.data(path) reads. */
69
+ data?: Record<string, DataFile>;
70
+ /** Looks by name; the built-in clean is always there. */
71
+ looks?: Record<string, Look>;
72
+ /** The project's part defaults (allyhub.config.ts `defaults.part`). */
73
+ partDefaults?: PartDefaults;
74
+ /**
75
+ * Every piece of the build by id, for a piece that shows another inside
76
+ * it (a scenery's screen): its file, dimensions, format and matrix.
77
+ */
78
+ pieces?: Record<string, {
79
+ file: string;
80
+ dims: Dims;
81
+ format: string;
82
+ matrix?: {
83
+ space: MatrixSpace;
84
+ rules: MatrixRule[];
85
+ };
86
+ }>;
87
+ }
88
+ /**
89
+ * stage/source.json in a build folder: what a host
90
+ * needs, besides the build's files, to hand load() a BuildSource for any
91
+ * piece of the build. Paths are relative to the build folder; the host
92
+ * adds URLs (media are fetched by sha256).
93
+ */
94
+ export interface StageSource {
95
+ schema: 1;
96
+ /** The runtime's browser bundle the build was made with. */
97
+ runtime: string;
98
+ /** Locales, the default first. */
99
+ locales: string[];
100
+ pieces: Record<string, {
101
+ file: string;
102
+ module: string;
103
+ styles: string[];
104
+ dims: Dims;
105
+ matrix?: {
106
+ space: MatrixSpace;
107
+ rules: MatrixRule[];
108
+ };
109
+ format: string;
110
+ }>;
111
+ media: Record<string, Omit<MediaInfo, "url">>;
112
+ data: Record<string, DataFile>;
113
+ /** The project's looks (allyhub.config.ts `look`), when it sets one. */
114
+ looks?: Record<string, Look>;
115
+ }
116
+ /** Where a part's speech plays: film seconds, and the take's file and offset. */
117
+ export interface PartSpeech {
118
+ /** Film time the speech starts and ends. */
119
+ start: number;
120
+ end: number;
121
+ /** Repo path of the take (a recording, or a `say` file). */
122
+ file: string;
123
+ /** Seconds into the file at `start`. */
124
+ from: number;
125
+ /**
126
+ * Seconds of the file it plays per second of film, pitch kept (the
127
+ * take's or the say's speed); absent: 1.
128
+ */
129
+ speed?: number;
130
+ /**
131
+ * A cut take: the stretches of the file it plays, in film order, each
132
+ * from film time `at`; without them the file plays on from `from`.
133
+ */
134
+ cuts?: SpeechCut[];
135
+ /** The edits file of the take (repo path), when it has one. */
136
+ edits?: string;
137
+ /** The indices of the take's words the part says (first and last), before edits. */
138
+ words?: [first: number, last: number];
139
+ /** The words the part plays, as recognised (a cut take: only those its edits keep). */
140
+ heard?: string;
141
+ /**
142
+ * A `saying` line: the share of its letters found in the take's kept
143
+ * words (0 to 1; in runs of three letters or more), and the take's word
144
+ * the search started from (0 when it was not found after the part before
145
+ * and the whole take was searched).
146
+ */
147
+ match?: {
148
+ score: number;
149
+ from: number;
150
+ };
151
+ }
152
+ /** From film time `at`, a cut take plays its file from `from` (until the next cut). */
153
+ export interface SpeechCut {
154
+ at: number;
155
+ from: number;
156
+ }
157
+ /** A graphic layer in its plane: the component, and when it shows. */
158
+ export interface PlaneLayer {
159
+ component: string;
160
+ /** Film seconds (end exclusive). The plane is empty where none of its layers shows. */
161
+ start: number;
162
+ end: number;
163
+ }
164
+ /**
165
+ * One of a part's graphics planes: graphic layers drawn together, back to
166
+ * front, with no footage between them.
167
+ */
168
+ export interface PartPlane {
169
+ layers: PlaneLayer[];
170
+ /**
171
+ * Its layers have z "behind-person": drawn right over the part's own
172
+ * footage and under its speaker, who is cut out with the person matte
173
+ * and drawn again over this plane.
174
+ */
175
+ behindPerson?: true;
176
+ /**
177
+ * Its layers have z "overlay": the part's last plane, laid over the
178
+ * finished picture (after the camera's marks, post and the LUT), with
179
+ * no motion blur, one image a frame.
180
+ */
181
+ overlay?: true;
182
+ }
183
+ /**
184
+ * Whether a graphic layer of a part's plane shows at film time t: the
185
+ * plane there is not empty. Generous by a microsecond either way: drawing
186
+ * an empty moment costs a capture, missing one would lose a frame.
187
+ */
188
+ export declare function planeAt(part: Part | undefined, plane: number, t: number): boolean;
189
+ /** What a part's stack holds at one place, back to front. */
190
+ export type StackItem = {
191
+ kind: "footage";
192
+ footage: TimelineFootage;
193
+ } | {
194
+ kind: "graphics";
195
+ plane: number;
196
+ layers: PlaneLayer[];
197
+ }
198
+ /** The speaker of a footage layer, cut out and drawn again over the plane behind them. */
199
+ | {
200
+ kind: "person";
201
+ footage: TimelineFootage;
202
+ };
203
+ /**
204
+ * A part's layers as they are stacked, back to front: each footage layer
205
+ * after the planes under it, each plane after the footage under it, and
206
+ * the speaker cut out over a plane behind them.
207
+ */
208
+ export declare function stackOf(part: Part, footage: readonly TimelineFootage[]): StackItem[];
209
+ export interface Part {
210
+ key: string;
211
+ /** The slot it fills, when the piece has slots. */
212
+ slot?: string;
213
+ /** What its layers are: component names, and "footage". */
214
+ layers: string[];
215
+ start: number;
216
+ end: number;
217
+ /**
218
+ * Its graphics planes, back to front. A part's layers are drawn in the
219
+ * order they are listed, footage and graphics alike: graphic layers
220
+ * with no footage between them are one plane, which the page draws in
221
+ * one picture, and each footage layer says how many planes are under
222
+ * it (`TimelineFootage.over`). Most parts have one plane, over all
223
+ * their footage.
224
+ */
225
+ planes: PartPlane[];
226
+ /** The part's still moment, absolute. */
227
+ still: number;
228
+ /** A name for people: part({ title }), else its largest text at its still that not every part shows. */
229
+ title?: string;
230
+ /** Voiced parts: where the speech plays. */
231
+ speech?: PartSpeech;
232
+ /** A part that plays a stretch of another video item (take(piece).range): the item, and the stretch on its clock. */
233
+ plays?: {
234
+ video: string;
235
+ from: number;
236
+ to: number;
237
+ };
238
+ /** Its own post chain (part({ post })): run on its picture before the camera's marks and the video's post. */
239
+ post?: {
240
+ filter: string;
241
+ };
242
+ /**
243
+ * Its anchors, where each landed in the film: its own (`part({ anchors
244
+ * })`), then those of the line it says (its script's @{name}). `at` is
245
+ * what "@name" gives, `end` what "@/name" does.
246
+ */
247
+ anchors?: PartAnchor[];
248
+ tags?: string[];
249
+ /** dB its speech is turned up or down after it is recorded (`part({ speechGainDb })`). */
250
+ speechGainDb?: number;
251
+ }
252
+ /** An anchor of a part's line, in film seconds. */
253
+ export interface PartAnchor {
254
+ name: string;
255
+ at: number;
256
+ end?: number;
257
+ }
258
+ /** A sound effect a part placed (`part({ sounds })`), on the film's clock. */
259
+ export interface Cue {
260
+ /** Film seconds where it hits. */
261
+ t: number;
262
+ /** Its name: a look's sound, a built-in one, or the file's path. */
263
+ sound: string;
264
+ part: string;
265
+ what?: string;
266
+ /** The audio file it plays (repo path); absent: a built-in synthesized sound. */
267
+ file?: string;
268
+ /** Its gain in dB over the mix's sound-effect level. */
269
+ gainDb?: number;
270
+ /** How it is shaped before it is levelled (its sound's `shape`). */
271
+ shape?: FixedShape;
272
+ }
273
+ /** A rectangle in pixels: x, y, width, height. */
274
+ export type PixelRect = [x: number, y: number, w: number, h: number];
275
+ /**
276
+ * A footage layer's background as its `background` option resolved: what
277
+ * is drawn behind the person, and the person's edge, in the frame's pixels.
278
+ */
279
+ export interface Backdrop {
280
+ /** Blur of the background (or of the image): the Gaussian's standard deviation, in the frame's pixels. */
281
+ blur?: number;
282
+ /** 0–1 towards black. */
283
+ dim?: number;
284
+ /** 0–1 towards gray. */
285
+ desaturate?: number;
286
+ /**
287
+ * A flat colour instead: "#rrggbb" or "#rrggbbaa", or "transparent" (the
288
+ * person over what is under the layer).
289
+ */
290
+ color?: string;
291
+ /** An image instead (repo path), filling the layer's box (cover). */
292
+ image?: string;
293
+ /** The person's edge: its softness and how far it is pulled in, in the frame's pixels. */
294
+ feather: number;
295
+ shrink: number;
296
+ }
297
+ /**
298
+ * A footage layer on the film's clock, resolved for the footage plane: the
299
+ * host compiles these into ffmpeg filters (render, stills, check's final
300
+ * look), and the player places a muted <video> by the same numbers.
301
+ */
302
+ export interface TimelineFootage {
303
+ /** The part that shows it. */
304
+ part: string;
305
+ /** Repo path of the video. */
306
+ file: string;
307
+ /** Film seconds it shows from and until (end exclusive), on the frame grid. */
308
+ start: number;
309
+ end: number;
310
+ /**
311
+ * Video seconds at `start`. Below 0 (a take's own footage whose speech
312
+ * starts within the lead), its first frame holds until the file starts.
313
+ * Past the file's end its last frame holds.
314
+ */
315
+ from: number;
316
+ /** Video seconds per film second: at film time t it shows from + (t − start) × speed. */
317
+ speed: number;
318
+ /** Its sound's gain, in dB. */
319
+ gainDb: number;
320
+ /** Its sound is mixed in. */
321
+ audio: boolean;
322
+ /** The part's own take: its sound is the part's speech, never mixed twice. */
323
+ take?: boolean;
324
+ fit: "cover" | "contain";
325
+ /** Where it shows, in the frame's pixels (the timeline's width × height): nothing outside it. */
326
+ box: PixelRect;
327
+ /**
328
+ * The part of the source picture it shows, in the source's pixels: the
329
+ * whole picture, or the layer's crop. Absent when the source's size is
330
+ * not known; the picture then fills the box.
331
+ */
332
+ crop?: PixelRect;
333
+ /**
334
+ * Where that part of the picture is drawn, in the frame's pixels: cover
335
+ * fills the box and overflows it (the box clips it), contain fits inside.
336
+ */
337
+ picture: PixelRect;
338
+ /**
339
+ * A cut take's own footage: from film time `at` it shows the file from
340
+ * `from` on (speed 1), until the next cut. The first cut is at `start`.
341
+ */
342
+ cuts?: SpeechCut[];
343
+ /**
344
+ * Reframe: the crop's top-left over time, in source pixels (film
345
+ * seconds, linear between keys); its size stays crop[2] × crop[3], and
346
+ * the picture is the box.
347
+ */
348
+ pan?: {
349
+ t: number;
350
+ x: number;
351
+ y: number;
352
+ }[];
353
+ /**
354
+ * Punch-ins: the zoom over time (1: none) about a point of the box
355
+ * (fractions), film seconds, eased into each key.
356
+ */
357
+ zoom?: {
358
+ t: number;
359
+ z: number;
360
+ cx: number;
361
+ cy: number;
362
+ ease?: Ease;
363
+ }[];
364
+ /**
365
+ * Box keyframes: the box over time, in the frame's pixels; what shows in
366
+ * the box at `box` (picture ∩ box) is drawn into the moving box.
367
+ */
368
+ boxes?: {
369
+ t: number;
370
+ box: PixelRect;
371
+ ease?: Ease;
372
+ }[];
373
+ /**
374
+ * How many of its part's graphics planes are under it (`Part.planes`,
375
+ * back to front): it is drawn over those and under the rest. Absent: 0,
376
+ * under every plane.
377
+ */
378
+ over?: number;
379
+ /**
380
+ * The speaker is drawn again, cut out with the person matte, over the
381
+ * part's behind-person graphics: the plane right over this layer
382
+ * (`Part.planes[over]`; the part's take, when it has such layers).
383
+ */
384
+ cutout?: boolean;
385
+ /** Sharpening after it is scaled, 0–1 (the layer's `sharpen`); renders only. */
386
+ sharpen?: number;
387
+ /**
388
+ * Its background treated apart from the person (the layer's
389
+ * `background`), when the file has a person matte: the footage plane
390
+ * draws the background, then the person through the matte.
391
+ */
392
+ background?: Backdrop;
393
+ /**
394
+ * The picture shows only in the ellipse inscribed in the box (moving
395
+ * with a keyframed box); the rest of the box is see-through.
396
+ */
397
+ shape?: "circle";
398
+ /**
399
+ * The box's corners are rounded by this many frame pixels (at most half
400
+ * its shorter side; scaling with a keyframed box): what is outside them
401
+ * is see-through.
402
+ */
403
+ radius?: number;
404
+ /**
405
+ * The id of the face in the file's face track the layer follows (the
406
+ * layer's `speaker`); absent: the track's default speaker.
407
+ */
408
+ speaker?: number;
409
+ }
410
+ /** A voiced part's speech in the mix. */
411
+ export interface SpeechClip {
412
+ /** Repo path of the take; the bytes are fetched by sha256. */
413
+ file: string;
414
+ /** The part whose speech it is: its recording setup is that part's. */
415
+ part?: string;
416
+ /** Film time it starts. */
417
+ at: number;
418
+ /** Seconds into the file. */
419
+ from: number;
420
+ /** Film seconds it plays. */
421
+ dur: number;
422
+ /**
423
+ * Seconds of the file it plays per second of film, pitch kept (the
424
+ * take's or the say's speed: ffmpeg's atempo in the mix); absent: 1.
425
+ */
426
+ speed?: number;
427
+ gainDb?: number;
428
+ /** Noise reduction in dB (the take's denoise). */
429
+ denoise?: number;
430
+ /**
431
+ * Seconds its start fades in over and its end fades out over, with an
432
+ * equal-power curve: a cross-fade with the clip it overlaps there (room
433
+ * tone into the take, one loop of room tone into the next). Absent: the
434
+ * mix's own 10 ms fade at every clip edge.
435
+ */
436
+ fadeIn?: number;
437
+ fadeOut?: number;
438
+ /** A room tone fill: the part and side it fills, and how its level was set. */
439
+ tone?: RoomFill;
440
+ }
441
+ /** A room tone fill of a part's lead or tail, measured. */
442
+ export interface RoomFill extends RoomLevel {
443
+ /** The part's key. */
444
+ part: string;
445
+ /** `lead`: before the part's speech; `tail`: after it. */
446
+ side: "lead" | "tail";
447
+ /** Film time of the join: where the fill meets the take. */
448
+ join: number;
449
+ /** Seconds of its own room the take keeps at the join (before its first word, or after its last). */
450
+ pad: number;
451
+ /** Seconds the fill and the take cross-fade over at the join. */
452
+ fade: number;
453
+ }
454
+ export interface AudioPlan {
455
+ /** One entry per voiced part, in film order. */
456
+ speech?: SpeechClip[];
457
+ /**
458
+ * A take's room tone filling a part's lead or tail where its own silence
459
+ * around the words runs out: mixed like speech, holding no words.
460
+ */
461
+ room?: SpeechClip[];
462
+ music?: MusicPlan;
463
+ /** The output's mix settings (video({ mix }) over the defaults); absent: the defaults. */
464
+ mix?: MixLevels;
465
+ /** What the sum is mastered to (video({ master }) over the platform's loudness and the defaults). */
466
+ master?: MasterTargets;
467
+ /**
468
+ * How the speech was recorded, resolved over its presets: the video's
469
+ * (`video({ mic })`, a studio's finishing when it says none) and the
470
+ * parts' own; false plays it as it is.
471
+ */
472
+ mic?: {
473
+ video: ResolvedVoice | false;
474
+ parts?: Record<string, ResolvedVoice | false>;
475
+ };
476
+ }
477
+ /** The output's music as the timeline plays it. */
478
+ export interface MusicPlan {
479
+ /** Repo path; absent when this combo has none (or it is missing). */
480
+ file?: string;
481
+ /** Seconds into the file at film time 0. */
482
+ from: number;
483
+ /** The file plays again while the video goes on. */
484
+ loop: boolean;
485
+ /**
486
+ * The tempo: given (`bpm`) or measured from the file (`confidence`
487
+ * 0–1 says how steady its beat is); absent when neither is known.
488
+ */
489
+ tempo?: {
490
+ bpm: number;
491
+ source: "given" | "measured";
492
+ confidence?: number;
493
+ /** Measured: seconds into the file of its first beat (a given bpm counts from 0). */
494
+ beat?: number;
495
+ };
496
+ /** Parts without speech ended on the beat (snap asked, and a tempo known). */
497
+ snapped: boolean;
498
+ /**
499
+ * The stretches of the file played on the film, back to back from film
500
+ * second 0 (`music.play`, then `music.loop`'s stretch again and again),
501
+ * up to the film's end; absent: the file from `from` to its end, or the
502
+ * whole file looped (`loop`). Each seam crosses over `seam` seconds.
503
+ */
504
+ play?: PlacedStretch[];
505
+ /** Seconds each seam between stretches cross-fades over. */
506
+ seam?: number;
507
+ /** The grid's beats a bar and its downbeat (the file's second of bar 0), when a tempo is known. */
508
+ meter?: number;
509
+ downbeat?: number;
510
+ /**
511
+ * Film seconds the music stops at, its fade out ending there: the bar
512
+ * or beat it ends on (`music.end`); absent: the film's end.
513
+ */
514
+ until?: number;
515
+ /** Its level over the film, dB over its level, film seconds (`music.gain`). */
516
+ gain?: {
517
+ t: number;
518
+ db: number;
519
+ }[];
520
+ /** How it is shaped, its bands' keys at film seconds (`music.filter`, `eq`, `compress`). */
521
+ shape?: ResolvedShape;
522
+ }
523
+ export interface Timeline {
524
+ fps: number;
525
+ /** The pixels the frame is drawn in. */
526
+ width: number;
527
+ height: number;
528
+ /**
529
+ * A video in a platform profile's format: the profile, with the
530
+ * numbers the piece's formats entry changes (covered edges, length,
531
+ * loudness).
532
+ */
533
+ profile?: PlatformProfile;
534
+ duration: number;
535
+ /**
536
+ * What the footage plane draws under everything: the look's background
537
+ * as "#rrggbb" (or "#rrggbbaa"), or "transparent" for a transparent video.
538
+ */
539
+ background: string;
540
+ parts: Part[];
541
+ cues: Cue[];
542
+ /** Footage layers, in film order. */
543
+ footage?: TimelineFootage[];
544
+ /**
545
+ * The transitions parts asked for (`part({ transition })`), in film
546
+ * order: the window of each, and what it does to the two parts'
547
+ * pictures. Absent: every join is a cut.
548
+ */
549
+ transitions?: TimelineTransition[];
550
+ audio: AudioPlan;
551
+ /**
552
+ * What the media index lacks for this output: videos whose face track
553
+ * (reframe "face", captions that avoid the face, the face check) or
554
+ * person matte (layers behind the person) the output reads and is not
555
+ * there yet. Hosts make them on this computer (check, render and dev do).
556
+ */
557
+ index?: IndexNeed[];
558
+ }
559
+ /** A video the media index should learn about: its face track, its person matte. */
560
+ export interface IndexNeed {
561
+ file: string;
562
+ faces?: true;
563
+ matte?: true;
564
+ }
565
+ export interface PartText {
566
+ key: string;
567
+ onScreen: string[];
568
+ /** What the part says, as written: the say or saying text, else the take's words. */
569
+ spoken?: string;
570
+ /** What it says as read aloud, when that differs (a message's `speak`). */
571
+ speak?: string;
572
+ /** The message key the spoken text came from (say(s(key)), saying(s(key))). */
573
+ speechKey?: string;
574
+ /** A paged output's speaker notes for this page (`<prefix>.<page>.notes`). */
575
+ notes?: string;
576
+ }
577
+ export interface MessageRead {
578
+ key: string;
579
+ part?: string;
580
+ kind: "text" | "list";
581
+ hint?: MessageHint;
582
+ fallback: boolean;
583
+ }
584
+ export interface Reads {
585
+ messages: MessageRead[];
586
+ media: {
587
+ path: string;
588
+ sha256: string;
589
+ part?: string;
590
+ kind: MediaKind;
591
+ }[];
592
+ /** Data files read with ctx.data (imported data is in the bundle). */
593
+ data: {
594
+ path: string;
595
+ sha256: string;
596
+ }[];
597
+ }
598
+ export interface CoverInfo {
599
+ key: string;
600
+ /** What its layers are: component names, and "footage". */
601
+ layers: string[];
602
+ }
603
+ /**
604
+ * A moment of a video by a reference of its own, in film seconds: an
605
+ * anchor of one of its parts ("@click" its start, "@/click" its end,
606
+ * "@click+0.2" shifted), the first part in film order that has it; or a
607
+ * part's key, its start. Throws, naming what there is, for anything else.
608
+ */
609
+ export declare function momentOf(tl: {
610
+ readonly parts: readonly {
611
+ readonly key: string;
612
+ readonly start: number;
613
+ readonly anchors?: readonly PartAnchor[] | undefined;
614
+ }[];
615
+ }, ref: string): number;
616
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1,2 @@
1
+ /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
+ import{parseAnchorRef as f}from"./anchors.js";export function planeAt(t,s,r){return(t?.planes[s]?.layers??[]).some(n=>n.end>n.start&&r>=n.start-1e-6&&r<n.end+1e-6)}export function stackOf(t,s){const r=s.filter(a=>a.part===t.key),n=[];for(let a=0;a<=t.planes.length;a++){for(const o of r)Math.min(o.over??0,t.planes.length)===a&&n.push({kind:"footage",footage:o});const e=t.planes[a];if(e&&(n.push({kind:"graphics",plane:a,layers:e.layers}),!!e.behindPerson))for(const o of r)o.cutout===!0&&(o.over??0)===a&&n.push({kind:"person",footage:o})}return n}export function momentOf(t,s){const r=new Set(t.parts.flatMap(e=>(e.anchors??[]).map(o=>o.name))),n=f(s,r);if(n){for(const e of t.parts){const o=e.anchors?.find(i=>i.name===n.name);if(o){if(n.end&&o.end===void 0)throw new Error(`The anchor "${n.name}" of part ${e.key} is a place, not a stretch: "@/${n.name}" has no end. Use "@${n.name}".`);return(n.end?o.end??o.at:o.at)+n.shift}}throw new Error(`No part of the video has the anchor "${n.name}"; it has ${r.size>0?[...r].map(e=>`@${e}`).join(", "):"no anchors"}.`)}const a=t.parts.find(e=>e.key===s);if(a)return a.start;throw new Error(`"${s}" is not an anchor ("@name") or a part of the video; its parts are ${t.parts.map(e=>e.key).join(", ")}.`)}