@hypit/hypit 0.0.1 → 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 (962) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +203 -0
  3. package/README.zh-CN.md +195 -0
  4. package/bin/hypit.mjs +46 -0
  5. package/dist/public/artifact.d.ts +75 -0
  6. package/dist/public/author-kit.d.ts +559 -0
  7. package/dist/public/browser-capture.d.ts +56 -0
  8. package/dist/public/caption.d.ts +751 -0
  9. package/dist/public/composition.d.ts +672 -0
  10. package/dist/public/endpoint-kit.d.ts +366 -0
  11. package/dist/public/generation.d.ts +591 -0
  12. package/dist/public/hyperframes.d.ts +774 -0
  13. package/dist/public/media.d.ts +708 -0
  14. package/dist/public/model-kit.d.ts +523 -0
  15. package/dist/public/narrative.d.ts +315 -0
  16. package/dist/public/program-space.d.ts +193 -0
  17. package/dist/public/runtime-kit.d.ts +427 -0
  18. package/dist/public/semantic-track.d.ts +418 -0
  19. package/dist/public/spatial.d.ts +1193 -0
  20. package/dist/public/speech.d.ts +391 -0
  21. package/dist/public/studio-adapter.d.ts +686 -0
  22. package/dist/public/svs.d.ts +311 -0
  23. package/dist/public/temporal-markup.d.ts +343 -0
  24. package/dist/public/temporal.d.ts +497 -0
  25. package/dist/public/text.d.ts +817 -0
  26. package/dist/public/visual-ir.d.ts +98 -0
  27. package/docs/public/hypit-logo-dark.svg +36 -0
  28. package/docs/public/hypit-logo-light.svg +38 -0
  29. package/examples/README.md +24 -0
  30. package/examples/minimal-author-package/README.md +18 -0
  31. package/examples/minimal-author-package/packages/example-component/README.md +44 -0
  32. package/examples/minimal-author-package/packages/example-component/package.json +27 -0
  33. package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
  34. package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
  35. package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
  36. package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
  37. package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
  38. package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
  39. package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
  40. package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
  41. package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
  42. package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
  43. package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
  44. package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
  45. package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
  46. package/examples/semantic-composition/README.md +35 -0
  47. package/examples/semantic-composition/chat.svml +25 -0
  48. package/examples/semantic-composition/chat.svrun +6 -0
  49. package/examples/semantic-composition/chat.svs +4 -0
  50. package/examples/semantic-composition/hypit.runtime.json +8 -0
  51. package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
  52. package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
  53. package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
  54. package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
  55. package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
  56. package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
  57. package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
  58. package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
  59. package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
  60. package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
  61. package/package.json +259 -7
  62. package/packages/artifact/README.md +10 -0
  63. package/packages/artifact/package.json +16 -0
  64. package/packages/artifact/src/activation.ts +8 -0
  65. package/packages/artifact/src/index.ts +24 -0
  66. package/packages/audio-track/README.md +43 -0
  67. package/packages/audio-track/package.json +36 -0
  68. package/packages/audio-track/src/activation.ts +20 -0
  69. package/packages/audio-track/src/component.ts +40 -0
  70. package/packages/audio-track/src/fragment.ts +63 -0
  71. package/packages/audio-track/src/index.ts +7 -0
  72. package/packages/audio-track/src/manifest.ts +151 -0
  73. package/packages/audio-track/src/program.ts +254 -0
  74. package/packages/audio-track/src/surface.ts +187 -0
  75. package/packages/audio-track/src/types.ts +62 -0
  76. package/packages/audio-track-studio/README.md +3 -0
  77. package/packages/audio-track-studio/package.json +14 -0
  78. package/packages/audio-track-studio/src/activation.ts +7 -0
  79. package/packages/audio-track-studio/src/index.ts +72 -0
  80. package/packages/author-kit/README.md +31 -0
  81. package/packages/author-kit/package.json +16 -0
  82. package/packages/author-kit/src/index.ts +59 -0
  83. package/packages/background-removal/README.md +29 -0
  84. package/packages/background-removal/package.json +16 -0
  85. package/packages/background-removal/src/activation.ts +18 -0
  86. package/packages/background-removal/src/component.ts +32 -0
  87. package/packages/background-removal/src/fragment.ts +18 -0
  88. package/packages/background-removal/src/index.ts +6 -0
  89. package/packages/background-removal/src/manifest.ts +45 -0
  90. package/packages/background-removal/src/program.ts +19 -0
  91. package/packages/background-removal/src/surface.ts +27 -0
  92. package/packages/background-removal/src/types.ts +5 -0
  93. package/packages/browser-capture/README.md +82 -0
  94. package/packages/browser-capture/package.json +15 -0
  95. package/packages/browser-capture/src/browser.ts +19 -0
  96. package/packages/browser-capture/src/index.ts +198 -0
  97. package/packages/build-result/package.json +13 -0
  98. package/packages/build-result/src/decode.ts +286 -0
  99. package/packages/build-result/src/index.ts +25 -0
  100. package/packages/build-result/src/store.ts +505 -0
  101. package/packages/build-result/src/types.ts +354 -0
  102. package/packages/build-result/src/writer.ts +184 -0
  103. package/packages/build-result-fs/README.md +29 -0
  104. package/packages/build-result-fs/package.json +17 -0
  105. package/packages/build-result-fs/src/activation.ts +62 -0
  106. package/packages/build-result-fs/src/index.ts +1 -0
  107. package/packages/build-result-kit/README.md +10 -0
  108. package/packages/build-result-kit/package.json +15 -0
  109. package/packages/build-result-kit/src/index.ts +144 -0
  110. package/packages/build-result-s3/README.md +49 -0
  111. package/packages/build-result-s3/package.json +19 -0
  112. package/packages/build-result-s3/src/activation.ts +71 -0
  113. package/packages/build-result-s3/src/client.ts +254 -0
  114. package/packages/build-result-s3/src/index.ts +4 -0
  115. package/packages/build-result-s3/src/repository.ts +361 -0
  116. package/packages/caption/README.md +77 -0
  117. package/packages/caption/package.json +28 -0
  118. package/packages/caption/src/activation.ts +17 -0
  119. package/packages/caption/src/component.ts +38 -0
  120. package/packages/caption/src/display.ts +111 -0
  121. package/packages/caption/src/error.ts +9 -0
  122. package/packages/caption/src/fragment.ts +26 -0
  123. package/packages/caption/src/index.ts +33 -0
  124. package/packages/caption/src/manifest.ts +97 -0
  125. package/packages/caption/src/style.ts +170 -0
  126. package/packages/caption/src/surface.ts +96 -0
  127. package/packages/caption/src/temporalize.ts +124 -0
  128. package/packages/caption/src/types.ts +71 -0
  129. package/packages/caption-fine/README.md +108 -0
  130. package/packages/caption-fine/package.json +30 -0
  131. package/packages/caption-fine/preview/Track.png +0 -0
  132. package/packages/caption-fine/src/activation.ts +32 -0
  133. package/packages/caption-fine/src/component.ts +58 -0
  134. package/packages/caption-fine/src/fragment.ts +112 -0
  135. package/packages/caption-fine/src/index.ts +19 -0
  136. package/packages/caption-fine/src/manifest.ts +383 -0
  137. package/packages/caption-fine/src/recipe.ts +120 -0
  138. package/packages/caption-fine/src/render.ts +1133 -0
  139. package/packages/caption-fine/src/schedule.ts +126 -0
  140. package/packages/caption-fine/src/spacing.ts +69 -0
  141. package/packages/caption-fine/src/style.ts +370 -0
  142. package/packages/caption-fine/src/surface.ts +152 -0
  143. package/packages/caption-fine/src/types.ts +191 -0
  144. package/packages/caption-fine-studio/README.md +3 -0
  145. package/packages/caption-fine-studio/package.json +15 -0
  146. package/packages/caption-fine-studio/src/activation.ts +7 -0
  147. package/packages/caption-fine-studio/src/index.ts +163 -0
  148. package/packages/cli/README.md +51 -0
  149. package/packages/cli/package.json +33 -0
  150. package/packages/cli/src/arguments.ts +605 -0
  151. package/packages/cli/src/build-planning.ts +460 -0
  152. package/packages/cli/src/command.ts +202 -0
  153. package/packages/cli/src/commands/environment.ts +391 -0
  154. package/packages/cli/src/commands/execution.ts +321 -0
  155. package/packages/cli/src/commands/results.ts +187 -0
  156. package/packages/cli/src/commands/types.ts +9 -0
  157. package/packages/cli/src/distribution.ts +74 -0
  158. package/packages/cli/src/index.ts +30 -0
  159. package/packages/cli/src/machine-view.ts +28 -0
  160. package/packages/cli/src/main.ts +654 -0
  161. package/packages/cli/src/oauth.ts +228 -0
  162. package/packages/cli/src/observation.ts +203 -0
  163. package/packages/cli/src/output.ts +1007 -0
  164. package/packages/cli/src/paths.ts +7 -0
  165. package/packages/cli/src/project-context.ts +38 -0
  166. package/packages/cli/src/reachability.ts +91 -0
  167. package/packages/cli/src/result-export.ts +148 -0
  168. package/packages/cli/src/result-query.ts +46 -0
  169. package/packages/cli/src/run-file.ts +186 -0
  170. package/packages/cli/src/runtime-port.ts +13 -0
  171. package/packages/cli/src/runtime-selection.ts +94 -0
  172. package/packages/cli/src/runtime-view.ts +15 -0
  173. package/packages/cli/src/source-discovery.ts +150 -0
  174. package/packages/cli/src/source-packages.ts +91 -0
  175. package/packages/cli/src/view.ts +228 -0
  176. package/packages/comment-sticker/README.md +41 -0
  177. package/packages/comment-sticker/package.json +29 -0
  178. package/packages/comment-sticker/preview/Track.png +0 -0
  179. package/packages/comment-sticker/src/activation.ts +32 -0
  180. package/packages/comment-sticker/src/author.ts +148 -0
  181. package/packages/comment-sticker/src/component.ts +97 -0
  182. package/packages/comment-sticker/src/fragment.ts +124 -0
  183. package/packages/comment-sticker/src/index.ts +8 -0
  184. package/packages/comment-sticker/src/manifest.ts +373 -0
  185. package/packages/comment-sticker/src/program.ts +610 -0
  186. package/packages/comment-sticker/src/surface.ts +172 -0
  187. package/packages/comment-sticker/src/types.ts +109 -0
  188. package/packages/comment-sticker-studio/README.md +3 -0
  189. package/packages/comment-sticker-studio/package.json +14 -0
  190. package/packages/comment-sticker-studio/src/activation.ts +7 -0
  191. package/packages/comment-sticker-studio/src/index.ts +132 -0
  192. package/packages/compiler-markup-node/README.md +12 -0
  193. package/packages/compiler-markup-node/package.json +22 -0
  194. package/packages/compiler-markup-node/src/index.ts +59 -0
  195. package/packages/compiler-node/README.md +60 -0
  196. package/packages/compiler-node/package.json +25 -0
  197. package/packages/compiler-node/src/compiler.ts +207 -0
  198. package/packages/compiler-node/src/error.ts +11 -0
  199. package/packages/compiler-node/src/graph-query.ts +51 -0
  200. package/packages/compiler-node/src/index.ts +27 -0
  201. package/packages/compiler-node/src/modules.ts +107 -0
  202. package/packages/compiler-node/src/run.ts +355 -0
  203. package/packages/component-kit/README.md +97 -0
  204. package/packages/component-kit/package.json +13 -0
  205. package/packages/component-kit/src/index.ts +155 -0
  206. package/packages/composition/README.md +53 -0
  207. package/packages/composition/package.json +29 -0
  208. package/packages/composition/src/activation.ts +3 -0
  209. package/packages/composition/src/component.ts +10 -0
  210. package/packages/composition/src/index.ts +18 -0
  211. package/packages/composition/src/manifest.ts +13 -0
  212. package/packages/composition/src/schema.ts +194 -0
  213. package/packages/composition/src/track.ts +1403 -0
  214. package/packages/core/README.md +22 -0
  215. package/packages/core/package.json +13 -0
  216. package/packages/core/src/error.ts +12 -0
  217. package/packages/core/src/graph.ts +341 -0
  218. package/packages/core/src/index.ts +32 -0
  219. package/packages/core/src/link.ts +240 -0
  220. package/packages/core/src/machine.ts +60 -0
  221. package/packages/core/src/plan.ts +504 -0
  222. package/packages/core/src/reducer.ts +428 -0
  223. package/packages/core/src/reference.ts +25 -0
  224. package/packages/core/src/slice.ts +108 -0
  225. package/packages/credential-store-env/README.md +11 -0
  226. package/packages/credential-store-env/package.json +17 -0
  227. package/packages/credential-store-env/src/activation.ts +25 -0
  228. package/packages/credential-store-env/src/index.ts +23 -0
  229. package/packages/credential-store-os/README.md +13 -0
  230. package/packages/credential-store-os/package.json +22 -0
  231. package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
  232. package/packages/credential-store-os/src/activation.ts +32 -0
  233. package/packages/credential-store-os/src/index.ts +2 -0
  234. package/packages/credential-store-os/src/store.ts +196 -0
  235. package/packages/deck-track/README.md +52 -0
  236. package/packages/deck-track/package.json +35 -0
  237. package/packages/deck-track/preview/DepthStack.png +0 -0
  238. package/packages/deck-track/src/activation.ts +32 -0
  239. package/packages/deck-track/src/author.ts +217 -0
  240. package/packages/deck-track/src/component.ts +86 -0
  241. package/packages/deck-track/src/fragment.ts +148 -0
  242. package/packages/deck-track/src/index.ts +16 -0
  243. package/packages/deck-track/src/lower.ts +370 -0
  244. package/packages/deck-track/src/manifest.ts +438 -0
  245. package/packages/deck-track/src/program.ts +367 -0
  246. package/packages/deck-track/src/surface.ts +286 -0
  247. package/packages/deck-track/src/types.ts +119 -0
  248. package/packages/deck-track-studio/README.md +3 -0
  249. package/packages/deck-track-studio/package.json +14 -0
  250. package/packages/deck-track-studio/src/activation.ts +7 -0
  251. package/packages/deck-track-studio/src/index.ts +134 -0
  252. package/packages/driver-node/README.md +23 -0
  253. package/packages/driver-node/package.json +18 -0
  254. package/packages/driver-node/src/driver.ts +616 -0
  255. package/packages/driver-node/src/index.ts +10 -0
  256. package/packages/driver-node/src/planning.ts +67 -0
  257. package/packages/driver-node/src/registry.ts +234 -0
  258. package/packages/driver-node/src/resources.ts +36 -0
  259. package/packages/driver-node/src/types.ts +69 -0
  260. package/packages/elaborator/README.md +74 -0
  261. package/packages/elaborator/package.json +16 -0
  262. package/packages/elaborator/src/author.ts +308 -0
  263. package/packages/elaborator/src/fragment.ts +505 -0
  264. package/packages/elaborator/src/frontend-facet.ts +30 -0
  265. package/packages/elaborator/src/index.ts +78 -0
  266. package/packages/elaborator/src/source.ts +608 -0
  267. package/packages/endpoint-kit/README.md +111 -0
  268. package/packages/endpoint-kit/package.json +14 -0
  269. package/packages/endpoint-kit/src/index.ts +488 -0
  270. package/packages/estimate/README.md +32 -0
  271. package/packages/estimate/package.json +20 -0
  272. package/packages/estimate/src/activation.ts +11 -0
  273. package/packages/estimate/src/index.ts +16 -0
  274. package/packages/estimate/src/manifest.ts +34 -0
  275. package/packages/estimate/src/policy.ts +70 -0
  276. package/packages/estimate/src/program.ts +196 -0
  277. package/packages/estimate/src/types.ts +15 -0
  278. package/packages/film/README.md +49 -0
  279. package/packages/film/package.json +34 -0
  280. package/packages/film/src/activation.ts +16 -0
  281. package/packages/film/src/component.ts +61 -0
  282. package/packages/film/src/fragment.ts +83 -0
  283. package/packages/film/src/index.ts +11 -0
  284. package/packages/film/src/manifest.ts +152 -0
  285. package/packages/film/src/program.ts +110 -0
  286. package/packages/film/src/recipe.ts +24 -0
  287. package/packages/film/src/surface.ts +146 -0
  288. package/packages/film/src/types.ts +26 -0
  289. package/packages/film-studio/package.json +16 -0
  290. package/packages/film-studio/src/activation.ts +8 -0
  291. package/packages/film-studio/src/index.ts +17 -0
  292. package/packages/fonts-open/README.md +77 -0
  293. package/packages/fonts-open/package.json +130 -0
  294. package/packages/fonts-open/src/activation.ts +30 -0
  295. package/packages/fonts-open/src/catalog.ts +317 -0
  296. package/packages/fonts-open/src/index.ts +13 -0
  297. package/packages/fonts-open/src/manifest.ts +83 -0
  298. package/packages/fonts-open/src/surface.ts +239 -0
  299. package/packages/generation/README.md +19 -0
  300. package/packages/generation/package.json +23 -0
  301. package/packages/generation/src/activation.ts +9 -0
  302. package/packages/generation/src/component.ts +77 -0
  303. package/packages/generation/src/identity.ts +80 -0
  304. package/packages/generation/src/index.ts +79 -0
  305. package/packages/generation/src/manifest.ts +65 -0
  306. package/packages/generation/src/mapping.ts +231 -0
  307. package/packages/generation/src/ports.ts +222 -0
  308. package/packages/generation/src/request.ts +427 -0
  309. package/packages/generation/src/schema.ts +62 -0
  310. package/packages/generation/src/types.ts +17 -0
  311. package/packages/gpt-image/README.md +54 -0
  312. package/packages/gpt-image/package.json +34 -0
  313. package/packages/gpt-image/src/activation.ts +39 -0
  314. package/packages/gpt-image/src/fragment.ts +101 -0
  315. package/packages/gpt-image/src/index.ts +203 -0
  316. package/packages/gpt-image/src/surface.ts +194 -0
  317. package/packages/gpt-image-kits/README.md +44 -0
  318. package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
  319. package/packages/gpt-image-kits/package.json +15 -0
  320. package/packages/grok-imagine/README.md +21 -0
  321. package/packages/grok-imagine/package.json +21 -0
  322. package/packages/grok-imagine/src/activation.ts +29 -0
  323. package/packages/grok-imagine/src/index.ts +174 -0
  324. package/packages/grok-imagine/src/surface.ts +149 -0
  325. package/packages/host/README.md +5 -0
  326. package/packages/host/package.json +10 -0
  327. package/packages/host/src/facet.ts +6 -0
  328. package/packages/host/src/frontend.ts +56 -0
  329. package/packages/host/src/index.ts +9 -0
  330. package/packages/hyperframes/README.md +69 -0
  331. package/packages/hyperframes/package.json +36 -0
  332. package/packages/hyperframes/src/activation.ts +8 -0
  333. package/packages/hyperframes/src/browser-program.ts +79 -0
  334. package/packages/hyperframes/src/component.ts +32 -0
  335. package/packages/hyperframes/src/document.ts +827 -0
  336. package/packages/hyperframes/src/fragment.ts +32 -0
  337. package/packages/hyperframes/src/index.ts +13 -0
  338. package/packages/hyperframes/src/manifest.ts +67 -0
  339. package/packages/hyperframes/src/project.ts +118 -0
  340. package/packages/hyperframes/src/text.ts +1179 -0
  341. package/packages/hyperframes/src/types.ts +38 -0
  342. package/packages/image-compose/README.md +25 -0
  343. package/packages/image-compose/package.json +18 -0
  344. package/packages/image-compose/src/activation.ts +21 -0
  345. package/packages/image-compose/src/component.ts +100 -0
  346. package/packages/image-compose/src/fragment.ts +54 -0
  347. package/packages/image-compose/src/index.ts +10 -0
  348. package/packages/image-compose/src/manifest.ts +119 -0
  349. package/packages/image-compose/src/program.ts +75 -0
  350. package/packages/image-compose/src/surface.ts +83 -0
  351. package/packages/image-compose/src/types.ts +22 -0
  352. package/packages/image-transform/README.md +29 -0
  353. package/packages/image-transform/package.json +21 -0
  354. package/packages/image-transform/src/activation.ts +33 -0
  355. package/packages/image-transform/src/component.ts +67 -0
  356. package/packages/image-transform/src/fragment.ts +25 -0
  357. package/packages/image-transform/src/index.ts +13 -0
  358. package/packages/image-transform/src/manifest.ts +209 -0
  359. package/packages/image-transform/src/program.ts +23 -0
  360. package/packages/image-transform/src/surface.ts +216 -0
  361. package/packages/image-transform/src/types.ts +20 -0
  362. package/packages/interview-emoji-reveal/README.md +39 -0
  363. package/packages/interview-emoji-reveal/package.json +23 -0
  364. package/packages/interview-emoji-reveal/preview/Track.png +0 -0
  365. package/packages/interview-emoji-reveal/src/activation.ts +14 -0
  366. package/packages/interview-emoji-reveal/src/component.ts +45 -0
  367. package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
  368. package/packages/interview-emoji-reveal/src/index.ts +16 -0
  369. package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
  370. package/packages/interview-emoji-reveal/src/program.ts +242 -0
  371. package/packages/interview-emoji-reveal/src/style.ts +47 -0
  372. package/packages/interview-emoji-reveal/src/surface.ts +110 -0
  373. package/packages/interview-emoji-reveal/src/types.ts +52 -0
  374. package/packages/markup/README.md +81 -0
  375. package/packages/markup/package.json +16 -0
  376. package/packages/markup/src/element.ts +39 -0
  377. package/packages/markup/src/error.ts +20 -0
  378. package/packages/markup/src/frontend.ts +518 -0
  379. package/packages/markup/src/host-facet.ts +115 -0
  380. package/packages/markup/src/index.ts +25 -0
  381. package/packages/markup/src/registry.ts +83 -0
  382. package/packages/markup/src/syntax.ts +271 -0
  383. package/packages/markup/src/types.ts +246 -0
  384. package/packages/media/README.md +37 -0
  385. package/packages/media/package.json +19 -0
  386. package/packages/media/src/activation.ts +38 -0
  387. package/packages/media/src/component.ts +16 -0
  388. package/packages/media/src/frame-range.ts +33 -0
  389. package/packages/media/src/identity.ts +227 -0
  390. package/packages/media/src/index.ts +15 -0
  391. package/packages/media/src/manifest.ts +122 -0
  392. package/packages/media/src/render.ts +140 -0
  393. package/packages/media/src/schema.ts +69 -0
  394. package/packages/media/src/surface.ts +150 -0
  395. package/packages/media/src/types.ts +121 -0
  396. package/packages/media-execution/README.md +28 -0
  397. package/packages/media-execution/package.json +17 -0
  398. package/packages/media-execution/src/execute.ts +1322 -0
  399. package/packages/media-execution/src/index.ts +16 -0
  400. package/packages/media-execution/src/probe.ts +315 -0
  401. package/packages/media-execution/src/surface.ts +286 -0
  402. package/packages/media-execution/src/toolchain.ts +81 -0
  403. package/packages/media-execution/src/webp.ts +200 -0
  404. package/packages/media-pipeline/README.md +113 -0
  405. package/packages/media-pipeline/package.json +27 -0
  406. package/packages/media-pipeline/src/activation.ts +47 -0
  407. package/packages/media-pipeline/src/audio-plan.ts +113 -0
  408. package/packages/media-pipeline/src/component.ts +373 -0
  409. package/packages/media-pipeline/src/fragment.ts +167 -0
  410. package/packages/media-pipeline/src/index.ts +46 -0
  411. package/packages/media-pipeline/src/manifest.ts +653 -0
  412. package/packages/media-pipeline/src/operations.ts +248 -0
  413. package/packages/media-pipeline/src/selection.ts +110 -0
  414. package/packages/media-pipeline/src/surface.ts +389 -0
  415. package/packages/media-pipeline/src/types.ts +175 -0
  416. package/packages/media-track/README.md +197 -0
  417. package/packages/media-track/package.json +29 -0
  418. package/packages/media-track/preview/Track.png +0 -0
  419. package/packages/media-track/preview/build.svrun +5 -0
  420. package/packages/media-track/preview/flush.png +0 -0
  421. package/packages/media-track/preview/preview.svml +47 -0
  422. package/packages/media-track/preview/recipes.svs +23 -0
  423. package/packages/media-track/preview/rounded.png +0 -0
  424. package/packages/media-track/src/activation.ts +20 -0
  425. package/packages/media-track/src/author.ts +317 -0
  426. package/packages/media-track/src/component.ts +162 -0
  427. package/packages/media-track/src/fragment.ts +57 -0
  428. package/packages/media-track/src/index.ts +65 -0
  429. package/packages/media-track/src/layers.ts +308 -0
  430. package/packages/media-track/src/lower.ts +335 -0
  431. package/packages/media-track/src/manifest.ts +624 -0
  432. package/packages/media-track/src/motion.ts +387 -0
  433. package/packages/media-track/src/performance.ts +37 -0
  434. package/packages/media-track/src/presentation.ts +35 -0
  435. package/packages/media-track/src/program.ts +565 -0
  436. package/packages/media-track/src/sampling.ts +118 -0
  437. package/packages/media-track/src/sequence.ts +403 -0
  438. package/packages/media-track/src/sounds.ts +71 -0
  439. package/packages/media-track/src/surface.ts +668 -0
  440. package/packages/media-track/src/types.ts +311 -0
  441. package/packages/media-track-studio/README.md +3 -0
  442. package/packages/media-track-studio/package.json +15 -0
  443. package/packages/media-track-studio/src/activation.ts +7 -0
  444. package/packages/media-track-studio/src/index.ts +235 -0
  445. package/packages/mimo-speech/README.md +33 -0
  446. package/packages/mimo-speech/package.json +21 -0
  447. package/packages/mimo-speech/src/activation.ts +32 -0
  448. package/packages/mimo-speech/src/fragment.ts +11 -0
  449. package/packages/mimo-speech/src/index.ts +160 -0
  450. package/packages/mimo-speech/src/surface.ts +193 -0
  451. package/packages/minimax-h3/README.md +21 -0
  452. package/packages/minimax-h3/package.json +21 -0
  453. package/packages/minimax-h3/src/activation.ts +14 -0
  454. package/packages/minimax-h3/src/index.ts +188 -0
  455. package/packages/minimax-h3/src/surface.ts +87 -0
  456. package/packages/model-kit/README.md +52 -0
  457. package/packages/model-kit/package.json +19 -0
  458. package/packages/model-kit/src/index.ts +728 -0
  459. package/packages/nano-banana/README.md +23 -0
  460. package/packages/nano-banana/package.json +21 -0
  461. package/packages/nano-banana/src/activation.ts +14 -0
  462. package/packages/nano-banana/src/index.ts +172 -0
  463. package/packages/nano-banana/src/surface.ts +120 -0
  464. package/packages/narrative/README.md +7 -0
  465. package/packages/narrative/package.json +17 -0
  466. package/packages/narrative/src/activation.ts +7 -0
  467. package/packages/narrative/src/component.ts +33 -0
  468. package/packages/narrative/src/identity.ts +131 -0
  469. package/packages/narrative/src/index.ts +11 -0
  470. package/packages/narrative/src/manifest.ts +30 -0
  471. package/packages/narrative/src/schema.ts +89 -0
  472. package/packages/narrative/src/types.ts +141 -0
  473. package/packages/package-loader-node/README.md +23 -0
  474. package/packages/package-loader-node/package.json +15 -0
  475. package/packages/package-loader-node/src/contribution.ts +97 -0
  476. package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
  477. package/packages/package-loader-node/src/index.ts +27 -0
  478. package/packages/package-loader-node/src/loader.ts +301 -0
  479. package/packages/package-loader-node/src/location.ts +279 -0
  480. package/packages/package-loader-node/src/types.ts +60 -0
  481. package/packages/program-space/README.md +20 -0
  482. package/packages/program-space/package.json +17 -0
  483. package/packages/program-space/src/activation.ts +19 -0
  484. package/packages/program-space/src/index.ts +107 -0
  485. package/packages/program-space/src/surface.ts +55 -0
  486. package/packages/protocol/README.md +11 -0
  487. package/packages/protocol/package.json +10 -0
  488. package/packages/protocol/src/build-id.ts +52 -0
  489. package/packages/protocol/src/build.ts +265 -0
  490. package/packages/protocol/src/canonical.ts +37 -0
  491. package/packages/protocol/src/error.ts +11 -0
  492. package/packages/protocol/src/identity.ts +59 -0
  493. package/packages/protocol/src/index.ts +9 -0
  494. package/packages/protocol/src/module.ts +67 -0
  495. package/packages/protocol/src/value.ts +88 -0
  496. package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
  497. package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
  498. package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
  499. package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
  500. package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
  501. package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
  502. package/packages/provider-hyperframes-local/README.md +129 -0
  503. package/packages/provider-hyperframes-local/package.json +34 -0
  504. package/packages/provider-hyperframes-local/src/activation.ts +107 -0
  505. package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
  506. package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
  507. package/packages/provider-hyperframes-local/src/capture.ts +184 -0
  508. package/packages/provider-hyperframes-local/src/index.ts +10 -0
  509. package/packages/provider-hyperframes-local/src/options.ts +19 -0
  510. package/packages/provider-hyperframes-local/src/output.ts +73 -0
  511. package/packages/provider-hyperframes-local/src/process.ts +83 -0
  512. package/packages/provider-hyperframes-local/src/program.ts +58 -0
  513. package/packages/provider-hyperframes-local/src/provider.ts +62 -0
  514. package/packages/provider-hyperframes-local/src/render.ts +114 -0
  515. package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
  516. package/packages/provider-hypihub/README.md +143 -0
  517. package/packages/provider-hypihub/package.json +26 -0
  518. package/packages/provider-hypihub/src/activation.ts +91 -0
  519. package/packages/provider-hypihub/src/index.ts +2 -0
  520. package/packages/provider-hypihub/src/mapping.ts +145 -0
  521. package/packages/provider-hypihub/src/oauth.ts +113 -0
  522. package/packages/provider-hypihub/src/provider.ts +566 -0
  523. package/packages/provider-hypihub/src/routes.ts +134 -0
  524. package/packages/provider-hypihub/src/upload.ts +402 -0
  525. package/packages/provider-image-opencv-local/README.md +16 -0
  526. package/packages/provider-image-opencv-local/package.json +27 -0
  527. package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
  528. package/packages/provider-image-opencv-local/src/activation.ts +61 -0
  529. package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
  530. package/packages/provider-image-opencv-local/src/index.ts +2 -0
  531. package/packages/provider-image-opencv-local/src/program.ts +60 -0
  532. package/packages/provider-image-opencv-local/src/provider.ts +155 -0
  533. package/packages/provider-kie/README.md +134 -0
  534. package/packages/provider-kie/package.json +43 -0
  535. package/packages/provider-kie/src/activation.ts +71 -0
  536. package/packages/provider-kie/src/index.ts +10 -0
  537. package/packages/provider-kie/src/mapping.ts +182 -0
  538. package/packages/provider-kie/src/provider.ts +657 -0
  539. package/packages/provider-kie/src/routes.ts +150 -0
  540. package/packages/provider-media-local/README.md +58 -0
  541. package/packages/provider-media-local/package.json +28 -0
  542. package/packages/provider-media-local/src/activation.ts +65 -0
  543. package/packages/provider-media-local/src/index.ts +2 -0
  544. package/packages/provider-media-local/src/program.ts +19 -0
  545. package/packages/provider-media-local/src/provider.ts +150 -0
  546. package/packages/provider-whisperx-local/README.md +44 -0
  547. package/packages/provider-whisperx-local/package.json +27 -0
  548. package/packages/provider-whisperx-local/src/activation.ts +93 -0
  549. package/packages/provider-whisperx-local/src/index.ts +5 -0
  550. package/packages/provider-whisperx-local/src/program.ts +157 -0
  551. package/packages/provider-whisperx-local/src/provider.ts +191 -0
  552. package/packages/provider-xiaomi-mimo/README.md +32 -0
  553. package/packages/provider-xiaomi-mimo/package.json +24 -0
  554. package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
  555. package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
  556. package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
  557. package/packages/ranking/README.md +67 -0
  558. package/packages/ranking/package.json +33 -0
  559. package/packages/ranking/preview/Column.svg +29 -0
  560. package/packages/ranking/preview/TierBoard.png +0 -0
  561. package/packages/ranking/preview/TierBoard.svg +36 -0
  562. package/packages/ranking/preview/TopThree.png +0 -0
  563. package/packages/ranking/src/activation.ts +38 -0
  564. package/packages/ranking/src/component.ts +271 -0
  565. package/packages/ranking/src/fragment.ts +206 -0
  566. package/packages/ranking/src/index.ts +26 -0
  567. package/packages/ranking/src/manifest.ts +807 -0
  568. package/packages/ranking/src/render.ts +698 -0
  569. package/packages/ranking/src/schedule.ts +895 -0
  570. package/packages/ranking/src/style.ts +272 -0
  571. package/packages/ranking/src/surface.ts +322 -0
  572. package/packages/ranking/src/tier.ts +176 -0
  573. package/packages/ranking/src/types.ts +277 -0
  574. package/packages/ranking-studio/README.md +3 -0
  575. package/packages/ranking-studio/package.json +14 -0
  576. package/packages/ranking-studio/src/activation.ts +7 -0
  577. package/packages/ranking-studio/src/index.ts +255 -0
  578. package/packages/raster/README.md +7 -0
  579. package/packages/raster/package.json +14 -0
  580. package/packages/raster/src/activation.ts +7 -0
  581. package/packages/raster/src/index.ts +7 -0
  582. package/packages/raster/src/manifest.ts +14 -0
  583. package/packages/raster/src/program.ts +128 -0
  584. package/packages/raster/src/schema.ts +53 -0
  585. package/packages/raster/src/types.ts +61 -0
  586. package/packages/render-hyperframes/README.md +58 -0
  587. package/packages/render-hyperframes/package.json +33 -0
  588. package/packages/render-hyperframes/src/activation.ts +18 -0
  589. package/packages/render-hyperframes/src/component.ts +37 -0
  590. package/packages/render-hyperframes/src/fragment.ts +73 -0
  591. package/packages/render-hyperframes/src/index.ts +6 -0
  592. package/packages/render-hyperframes/src/manifest.ts +100 -0
  593. package/packages/render-hyperframes/src/product.ts +29 -0
  594. package/packages/render-hyperframes/src/surface.ts +65 -0
  595. package/packages/resource-store-fs/README.md +13 -0
  596. package/packages/resource-store-fs/package.json +14 -0
  597. package/packages/resource-store-fs/src/index.ts +2 -0
  598. package/packages/resource-store-fs/src/store.ts +154 -0
  599. package/packages/resource-store-s3/README.md +15 -0
  600. package/packages/resource-store-s3/package.json +15 -0
  601. package/packages/resource-store-s3/src/client.ts +138 -0
  602. package/packages/resource-store-s3/src/index.ts +10 -0
  603. package/packages/resource-store-s3/src/store.ts +258 -0
  604. package/packages/run/README.md +23 -0
  605. package/packages/run/package.json +16 -0
  606. package/packages/run/src/candidate.ts +33 -0
  607. package/packages/run/src/facet.ts +59 -0
  608. package/packages/run/src/frontend-facet.ts +23 -0
  609. package/packages/run/src/frontend.ts +62 -0
  610. package/packages/run/src/graph.ts +65 -0
  611. package/packages/run/src/index.ts +33 -0
  612. package/packages/run/src/registry.ts +24 -0
  613. package/packages/run/src/resolve.ts +213 -0
  614. package/packages/run/src/types.ts +147 -0
  615. package/packages/run-markup/README.md +60 -0
  616. package/packages/run-markup/package.json +22 -0
  617. package/packages/run-markup/src/activation.ts +10 -0
  618. package/packages/run-markup/src/frontend.ts +16 -0
  619. package/packages/run-markup/src/index.ts +5 -0
  620. package/packages/run-markup/src/syntax.ts +304 -0
  621. package/packages/runtime/README.md +39 -0
  622. package/packages/runtime/package.json +15 -0
  623. package/packages/runtime/src/capacity.ts +51 -0
  624. package/packages/runtime/src/catalog.ts +30 -0
  625. package/packages/runtime/src/credentials.ts +124 -0
  626. package/packages/runtime/src/environment.ts +6 -0
  627. package/packages/runtime/src/execution.ts +125 -0
  628. package/packages/runtime/src/index.ts +24 -0
  629. package/packages/runtime/src/operations.ts +99 -0
  630. package/packages/runtime/src/scheduler.ts +281 -0
  631. package/packages/runtime/src/submission.ts +24 -0
  632. package/packages/runtime/src/types.ts +157 -0
  633. package/packages/runtime-host-node/README.md +25 -0
  634. package/packages/runtime-host-node/package.json +19 -0
  635. package/packages/runtime-host-node/src/index.ts +421 -0
  636. package/packages/runtime-host-node/src/packages.ts +158 -0
  637. package/packages/runtime-kit/README.md +42 -0
  638. package/packages/runtime-kit/package.json +16 -0
  639. package/packages/runtime-kit/src/index.ts +307 -0
  640. package/packages/runtime-kit/src/request-deadline.ts +17 -0
  641. package/packages/runtime-local/README.md +119 -0
  642. package/packages/runtime-local/package.json +33 -0
  643. package/packages/runtime-local/src/actions.ts +20 -0
  644. package/packages/runtime-local/src/config.ts +1229 -0
  645. package/packages/runtime-local/src/control.ts +120 -0
  646. package/packages/runtime-local/src/credentials.ts +61 -0
  647. package/packages/runtime-local/src/host.ts +174 -0
  648. package/packages/runtime-local/src/index.ts +36 -0
  649. package/packages/runtime-local/src/process-control.ts +59 -0
  650. package/packages/runtime-local/src/process-logs.ts +33 -0
  651. package/packages/runtime-local/src/programs.ts +441 -0
  652. package/packages/runtime-local/src/result-writer.ts +246 -0
  653. package/packages/runtime-local/src/runtime.ts +342 -0
  654. package/packages/runtime-local/src/types.ts +100 -0
  655. package/packages/runtime-local/src/worker-process.ts +343 -0
  656. package/packages/runtime-local/src/worker.ts +449 -0
  657. package/packages/screen-overlay/README.md +17 -0
  658. package/packages/screen-overlay/package.json +31 -0
  659. package/packages/screen-overlay/preview/Track.png +0 -0
  660. package/packages/screen-overlay/src/activation.ts +15 -0
  661. package/packages/screen-overlay/src/component.ts +20 -0
  662. package/packages/screen-overlay/src/fragment.ts +40 -0
  663. package/packages/screen-overlay/src/index.ts +7 -0
  664. package/packages/screen-overlay/src/manifest.ts +305 -0
  665. package/packages/screen-overlay/src/program.ts +321 -0
  666. package/packages/screen-overlay/src/surface.ts +90 -0
  667. package/packages/screen-overlay/src/types.ts +69 -0
  668. package/packages/screen-overlay-studio/README.md +3 -0
  669. package/packages/screen-overlay-studio/package.json +14 -0
  670. package/packages/screen-overlay-studio/src/activation.ts +7 -0
  671. package/packages/screen-overlay-studio/src/index.ts +80 -0
  672. package/packages/script/README.md +137 -0
  673. package/packages/script/package.json +22 -0
  674. package/packages/script/src/activation.ts +20 -0
  675. package/packages/script/src/edit.ts +174 -0
  676. package/packages/script/src/error.ts +13 -0
  677. package/packages/script/src/format.ts +83 -0
  678. package/packages/script/src/index.ts +20 -0
  679. package/packages/script/src/lexical.ts +133 -0
  680. package/packages/script/src/manifest.ts +95 -0
  681. package/packages/script/src/narrative.ts +232 -0
  682. package/packages/script/src/parser.ts +850 -0
  683. package/packages/script/src/surface.ts +132 -0
  684. package/packages/script/src/types.ts +125 -0
  685. package/packages/script-studio/package.json +13 -0
  686. package/packages/script-studio/src/activation.ts +8 -0
  687. package/packages/script-studio/src/index.ts +61 -0
  688. package/packages/seedance/README.md +19 -0
  689. package/packages/seedance/package.json +22 -0
  690. package/packages/seedance/src/activation.ts +38 -0
  691. package/packages/seedance/src/fragment.ts +46 -0
  692. package/packages/seedance/src/index.ts +329 -0
  693. package/packages/seedance/src/surface.ts +355 -0
  694. package/packages/seedance-kits/README.md +153 -0
  695. package/packages/seedance-kits/kits/broll-v1.svs +52 -0
  696. package/packages/seedance-kits/kits/call-v1.svs +55 -0
  697. package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
  698. package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
  699. package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
  700. package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
  701. package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
  702. package/packages/seedance-kits/package.json +24 -0
  703. package/packages/seedream/README.md +21 -0
  704. package/packages/seedream/package.json +21 -0
  705. package/packages/seedream/src/activation.ts +12 -0
  706. package/packages/seedream/src/index.ts +162 -0
  707. package/packages/seedream/src/surface.ts +84 -0
  708. package/packages/semantic-take-adjust/package.json +21 -0
  709. package/packages/semantic-take-adjust/src/activation.ts +22 -0
  710. package/packages/semantic-take-adjust/src/component.ts +31 -0
  711. package/packages/semantic-take-adjust/src/fragment.ts +24 -0
  712. package/packages/semantic-take-adjust/src/index.ts +12 -0
  713. package/packages/semantic-take-adjust/src/manifest.ts +57 -0
  714. package/packages/semantic-take-adjust/src/program.ts +49 -0
  715. package/packages/semantic-take-adjust/src/surface.ts +96 -0
  716. package/packages/semantic-take-adjust/src/types.ts +9 -0
  717. package/packages/semantic-track/README.md +21 -0
  718. package/packages/semantic-track/package.json +22 -0
  719. package/packages/semantic-track/src/activation.ts +8 -0
  720. package/packages/semantic-track/src/component.ts +24 -0
  721. package/packages/semantic-track/src/identity.ts +58 -0
  722. package/packages/semantic-track/src/index.ts +6 -0
  723. package/packages/semantic-track/src/location.ts +81 -0
  724. package/packages/semantic-track/src/manifest.ts +38 -0
  725. package/packages/semantic-track/src/projection.ts +71 -0
  726. package/packages/semantic-track/src/types.ts +26 -0
  727. package/packages/source/README.md +13 -0
  728. package/packages/source/package.json +13 -0
  729. package/packages/source/src/header.ts +80 -0
  730. package/packages/source/src/index.ts +17 -0
  731. package/packages/source/src/unit.ts +38 -0
  732. package/packages/spatial/README.md +77 -0
  733. package/packages/spatial/package.json +24 -0
  734. package/packages/spatial/src/activation.ts +43 -0
  735. package/packages/spatial/src/author.ts +59 -0
  736. package/packages/spatial/src/component.ts +45 -0
  737. package/packages/spatial/src/fragment.ts +36 -0
  738. package/packages/spatial/src/geometry.ts +238 -0
  739. package/packages/spatial/src/index.ts +37 -0
  740. package/packages/spatial/src/manifest.ts +341 -0
  741. package/packages/spatial/src/region-timeline.ts +69 -0
  742. package/packages/spatial/src/schema.ts +47 -0
  743. package/packages/spatial/src/surface.ts +319 -0
  744. package/packages/spatial/src/types.ts +101 -0
  745. package/packages/speech/README.md +16 -0
  746. package/packages/speech/package.json +19 -0
  747. package/packages/speech/src/activation.ts +7 -0
  748. package/packages/speech/src/component.ts +43 -0
  749. package/packages/speech/src/identity.ts +73 -0
  750. package/packages/speech/src/index.ts +6 -0
  751. package/packages/speech/src/manifest.ts +30 -0
  752. package/packages/speech/src/materialize.ts +103 -0
  753. package/packages/speech/src/schema.ts +42 -0
  754. package/packages/speech/src/types.ts +54 -0
  755. package/packages/speech-alignment/README.md +29 -0
  756. package/packages/speech-alignment/package.json +25 -0
  757. package/packages/speech-alignment/src/activation.ts +8 -0
  758. package/packages/speech-alignment/src/align.ts +235 -0
  759. package/packages/speech-alignment/src/component.ts +37 -0
  760. package/packages/speech-alignment/src/error.ts +9 -0
  761. package/packages/speech-alignment/src/index.ts +7 -0
  762. package/packages/speech-alignment/src/local.ts +64 -0
  763. package/packages/speech-alignment/src/locate.ts +473 -0
  764. package/packages/speech-alignment/src/manifest.ts +37 -0
  765. package/packages/speech-alignment/src/normalize.ts +79 -0
  766. package/packages/speech-alignment/src/types.ts +30 -0
  767. package/packages/speech-evidence/README.md +3 -0
  768. package/packages/speech-evidence/package.json +16 -0
  769. package/packages/speech-evidence/src/activation.ts +3 -0
  770. package/packages/speech-evidence/src/index.ts +102 -0
  771. package/packages/speech-track/README.md +51 -0
  772. package/packages/speech-track/package.json +28 -0
  773. package/packages/speech-track/preview/Track.png +0 -0
  774. package/packages/speech-track/src/activation.ts +19 -0
  775. package/packages/speech-track/src/component.ts +45 -0
  776. package/packages/speech-track/src/fragment.ts +74 -0
  777. package/packages/speech-track/src/index.ts +7 -0
  778. package/packages/speech-track/src/manifest.ts +73 -0
  779. package/packages/speech-track/src/program.ts +64 -0
  780. package/packages/speech-track/src/surface.ts +35 -0
  781. package/packages/speech-track/src/types.ts +6 -0
  782. package/packages/speech-track-studio/README.md +3 -0
  783. package/packages/speech-track-studio/package.json +14 -0
  784. package/packages/speech-track-studio/src/activation.ts +7 -0
  785. package/packages/speech-track-studio/src/index.ts +40 -0
  786. package/packages/store-sqlite/README.md +14 -0
  787. package/packages/store-sqlite/package.json +18 -0
  788. package/packages/store-sqlite/src/index.ts +2 -0
  789. package/packages/store-sqlite/src/store.ts +1101 -0
  790. package/packages/studio/README.md +125 -0
  791. package/packages/studio/index.html +10 -0
  792. package/packages/studio/package.json +50 -0
  793. package/packages/studio/src/build-library.ts +281 -0
  794. package/packages/studio/src/companion-assembly.ts +39 -0
  795. package/packages/studio/src/compile.ts +166 -0
  796. package/packages/studio/src/domain.ts +139 -0
  797. package/packages/studio/src/execute.ts +57 -0
  798. package/packages/studio/src/fallback-companions.ts +98 -0
  799. package/packages/studio/src/observe.ts +202 -0
  800. package/packages/studio/src/parameter-values.ts +81 -0
  801. package/packages/studio/src/parameters.ts +550 -0
  802. package/packages/studio/src/preview/render.ts +51 -0
  803. package/packages/studio/src/preview/runtime-shim.ts +184 -0
  804. package/packages/studio/src/programme.ts +276 -0
  805. package/packages/studio/src/run.ts +85 -0
  806. package/packages/studio/src/server.ts +725 -0
  807. package/packages/studio/src/session.ts +111 -0
  808. package/packages/studio/src/shared.ts +315 -0
  809. package/packages/studio/src/snapshot.ts +454 -0
  810. package/packages/studio/src/source-transaction.ts +57 -0
  811. package/packages/studio/src/storyboard.ts +133 -0
  812. package/packages/studio/src/studio-preflight.ts +198 -0
  813. package/packages/studio/src/studio-registry.ts +406 -0
  814. package/packages/studio/src/studio-trace.ts +136 -0
  815. package/packages/studio/src/style.css +1525 -0
  816. package/packages/studio/src/surface-preview.ts +35 -0
  817. package/packages/studio/src/temporal-graph.ts +227 -0
  818. package/packages/studio/src/ui/code.ts +450 -0
  819. package/packages/studio/src/ui/icons.ts +51 -0
  820. package/packages/studio/src/ui/library.ts +378 -0
  821. package/packages/studio/src/ui/main.ts +1001 -0
  822. package/packages/studio/src/ui/markers.ts +152 -0
  823. package/packages/studio/src/ui/material-preview.ts +176 -0
  824. package/packages/studio/src/ui/overlay.ts +144 -0
  825. package/packages/studio/src/ui/resize.ts +74 -0
  826. package/packages/studio/src/ui/selection.ts +178 -0
  827. package/packages/studio/src/ui/stage.ts +231 -0
  828. package/packages/studio/src/ui/syntax.ts +195 -0
  829. package/packages/studio/src/ui/timeline.ts +1041 -0
  830. package/packages/studio/src/ui/writeback.ts +10 -0
  831. package/packages/studio/src/ui/zoom.ts +129 -0
  832. package/packages/studio/start.ts +143 -0
  833. package/packages/studio-adapter/README.md +186 -0
  834. package/packages/studio-adapter/package.json +14 -0
  835. package/packages/studio-adapter/src/index.ts +850 -0
  836. package/packages/svs/README.md +37 -0
  837. package/packages/svs/package.json +21 -0
  838. package/packages/svs/src/activation.ts +11 -0
  839. package/packages/svs/src/format.ts +16 -0
  840. package/packages/svs/src/frontend.ts +33 -0
  841. package/packages/svs/src/index.ts +5 -0
  842. package/packages/svs/src/manifest.ts +17 -0
  843. package/packages/svs/src/parser.ts +279 -0
  844. package/packages/svs/src/types.ts +26 -0
  845. package/packages/temporal/README.md +31 -0
  846. package/packages/temporal/package.json +20 -0
  847. package/packages/temporal/src/activation.ts +9 -0
  848. package/packages/temporal/src/component.ts +68 -0
  849. package/packages/temporal/src/index.ts +110 -0
  850. package/packages/temporal/src/location.ts +67 -0
  851. package/packages/temporal/src/projection.ts +280 -0
  852. package/packages/temporal/src/rational.ts +80 -0
  853. package/packages/temporal/src/sample.ts +43 -0
  854. package/packages/temporal/src/schedule.ts +52 -0
  855. package/packages/temporal/src/types.ts +124 -0
  856. package/packages/temporal-markup/README.md +75 -0
  857. package/packages/temporal-markup/package.json +18 -0
  858. package/packages/temporal-markup/src/index.ts +537 -0
  859. package/packages/temporal-markup/src/space.ts +59 -0
  860. package/packages/text/README.md +59 -0
  861. package/packages/text/package.json +21 -0
  862. package/packages/text/src/activation.ts +33 -0
  863. package/packages/text/src/component.ts +72 -0
  864. package/packages/text/src/fragment.ts +57 -0
  865. package/packages/text/src/frontend.ts +39 -0
  866. package/packages/text/src/index.ts +27 -0
  867. package/packages/text/src/manifest.ts +170 -0
  868. package/packages/text/src/program.ts +418 -0
  869. package/packages/text/src/surface.ts +212 -0
  870. package/packages/text/src/svs.ts +189 -0
  871. package/packages/text/src/types.ts +82 -0
  872. package/packages/transport-aws-lambda/README.md +20 -0
  873. package/packages/transport-aws-lambda/package.json +14 -0
  874. package/packages/transport-aws-lambda/src/index.ts +131 -0
  875. package/packages/typography-track/README.md +50 -0
  876. package/packages/typography-track/package.json +34 -0
  877. package/packages/typography-track/preview/Mask.png +0 -0
  878. package/packages/typography-track/preview/Track.png +0 -0
  879. package/packages/typography-track/src/activation.ts +36 -0
  880. package/packages/typography-track/src/component.ts +93 -0
  881. package/packages/typography-track/src/fragment.ts +30 -0
  882. package/packages/typography-track/src/index.ts +11 -0
  883. package/packages/typography-track/src/manifest.ts +556 -0
  884. package/packages/typography-track/src/program.ts +622 -0
  885. package/packages/typography-track/src/surface.ts +842 -0
  886. package/packages/typography-track/src/types.ts +109 -0
  887. package/packages/typography-track-studio/README.md +3 -0
  888. package/packages/typography-track-studio/package.json +14 -0
  889. package/packages/typography-track-studio/src/activation.ts +7 -0
  890. package/packages/typography-track-studio/src/index.ts +116 -0
  891. package/packages/validation/README.md +11 -0
  892. package/packages/validation/package.json +15 -0
  893. package/packages/validation/src/index.ts +100 -0
  894. package/packages/video-cli/README.md +181 -0
  895. package/packages/video-cli/package.json +37 -0
  896. package/packages/video-cli/src/capture.ts +174 -0
  897. package/packages/video-cli/src/cli.ts +109 -0
  898. package/packages/video-cli/src/compiler.ts +32 -0
  899. package/packages/video-cli/src/creation.ts +449 -0
  900. package/packages/video-cli/src/distribution.ts +88 -0
  901. package/packages/video-cli/src/index.ts +50 -0
  902. package/packages/video-cli/src/media.ts +701 -0
  903. package/packages/video-cli/src/package-selection.ts +34 -0
  904. package/packages/video-cli/src/process.ts +71 -0
  905. package/packages/video-cli/src/studio-distribution.ts +19 -0
  906. package/packages/video-cli/src/transcript.ts +71 -0
  907. package/packages/video-cli/src/vocabulary.ts +386 -0
  908. package/packages/visual-ir/README.md +36 -0
  909. package/packages/visual-ir/package.json +16 -0
  910. package/packages/visual-ir/src/activation.ts +3 -0
  911. package/packages/visual-ir/src/index.ts +7 -0
  912. package/packages/visual-ir/src/style.ts +222 -0
  913. package/packages/volcengine-matting/README.md +89 -0
  914. package/packages/volcengine-matting/package.json +16 -0
  915. package/packages/volcengine-matting/src/activation.ts +13 -0
  916. package/packages/volcengine-matting/src/index.ts +45 -0
  917. package/packages/volcengine-matting/src/surface.ts +48 -0
  918. package/packages/whisperx/README.md +34 -0
  919. package/packages/whisperx/package.json +28 -0
  920. package/packages/whisperx/src/activation.ts +18 -0
  921. package/packages/whisperx/src/component.ts +64 -0
  922. package/packages/whisperx/src/evidence.ts +69 -0
  923. package/packages/whisperx/src/fragment.ts +76 -0
  924. package/packages/whisperx/src/index.ts +14 -0
  925. package/packages/whisperx/src/manifest.ts +92 -0
  926. package/packages/whisperx/src/surface.ts +90 -0
  927. package/packages/whisperx/src/transcript.ts +97 -0
  928. package/packages/whisperx/src/types.ts +9 -0
  929. package/packages/workspace/README.md +4 -0
  930. package/packages/workspace/package.json +14 -0
  931. package/packages/workspace/src/index.ts +38 -0
  932. package/packages/workspace-fs-node/README.md +13 -0
  933. package/packages/workspace-fs-node/package.json +15 -0
  934. package/packages/workspace-fs-node/src/index.ts +6 -0
  935. package/packages/workspace-fs-node/src/workspace.ts +226 -0
  936. package/packages/yt-dlp/README.md +31 -0
  937. package/packages/yt-dlp/package.json +10 -0
  938. package/packages/yt-dlp/src/download.ts +104 -0
  939. package/packages/yt-dlp/src/index.ts +1 -0
  940. package/services/image-opencv/README.md +33 -0
  941. package/services/image-opencv/package.json +14 -0
  942. package/services/image-opencv/pyproject.toml +13 -0
  943. package/services/image-opencv/uv.lock +56 -0
  944. package/services/whisperx/README.md +82 -0
  945. package/services/whisperx/package.json +15 -0
  946. package/services/whisperx/pyproject.toml +26 -0
  947. package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
  948. package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
  949. package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
  950. package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
  951. package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
  952. package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
  953. package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
  954. package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
  955. package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
  956. package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
  957. package/services/whisperx/uv.lock +3381 -0
  958. package/services/yt-dlp/README.md +19 -0
  959. package/services/yt-dlp/package.json +14 -0
  960. package/services/yt-dlp/pyproject.toml +13 -0
  961. package/services/yt-dlp/uv.lock +23 -0
  962. package/index.js +0 -1
@@ -0,0 +1,383 @@
1
+ import { readFile } from "node:fs/promises";
2
+
3
+ import { captionManifest, captionModuleRef, captionTypes } from "@hypit/caption";
4
+ import { compositionDependency, compositionTypes } from "@hypit/composition";
5
+ import { mediaDependency, mediaTypes } from "@hypit/media";
6
+ import { narrativeDependency, narrativeTypes } from "@hypit/narrative";
7
+ import { programSpaceDependency, programSpaceTypes } from "@hypit/program-space";
8
+ import type { ModuleManifest, ProducerRef } from "@hypit/protocol";
9
+ import { semanticTrackDependency, semanticTrackTypes } from "@hypit/semantic-track";
10
+ import { spatialDependency, spatialTypes } from "@hypit/spatial";
11
+ import { svsRecipeType } from "@hypit/svs";
12
+
13
+ import { fineCaptionOneShotMotions } from "./recipe.js";
14
+
15
+ const previewImage = (file: string) => ({
16
+ mediaType: "image/png",
17
+ path: `preview/${file}`,
18
+ open: async () => Uint8Array.from(await readFile(new URL(`../preview/${file}`, import.meta.url))),
19
+ });
20
+
21
+ export const captionFineModuleRef = { name: "@hypit/caption-fine", version: "1" } as const;
22
+ export const captionFineTypes = {
23
+ schedule: { module: captionFineModuleRef, name: "FineCaptionSchedule" },
24
+ } as const;
25
+ export const captionFineProducers = {
26
+ schedule: { module: captionFineModuleRef, name: "schedule-fine-caption" },
27
+ render: { module: captionFineModuleRef, name: "render-fine-caption" },
28
+ renderWithRegions: { module: captionFineModuleRef, name: "render-fine-caption-with-regions" },
29
+ } satisfies Record<string, ProducerRef>;
30
+
31
+ export const captionFineMarkupSurfaces = [
32
+ {
33
+ name: "style", tag: "Style", mode: "structured", outputs: [captionTypes.style],
34
+ vocabulary: {
35
+ summary: "Resolves one SVS Recipe and one exact font stack into a complete fine-grained Caption Style.",
36
+ attributes: [
37
+ { name: "id", kind: "identifier", required: true,
38
+ summary: "Names this Style so a Caption Program can assign it." },
39
+ { name: "recipe", kind: "reference", required: true, accepts: [svsRecipeType],
40
+ summary: "Chooses the Recipe that carries Cue geometry, Paint and local motion.",
41
+ recipe: [
42
+ { name: "stack-order", required: true,
43
+ summary: "Places this Style's Cues in the Track's drawing order, low behind high." },
44
+ { name: "x", required: true,
45
+ summary: "Places the Cue box horizontally as a fraction of the Canvas width." },
46
+ { name: "y", required: true,
47
+ summary: "Places the Cue box vertically as a fraction of the Canvas height." },
48
+ { name: "width", required: true,
49
+ summary: "Sets the Cue box width as a fraction of the Canvas width." },
50
+ { name: "height", required: false,
51
+ summary: "Optionally gives the Caption Region a fixed fraction of Canvas height; without it the Region hugs its Cue." },
52
+ { name: "anchor-x", required: false, values: ["left", "center", "right"], fallback: "left",
53
+ summary: "Decides which horizontal edge of the Cue box sits on the placement point." },
54
+ { name: "anchor-y", required: false, values: ["top", "center", "bottom"], fallback: "top",
55
+ summary: "Decides which vertical edge of the Cue box sits on the placement point." },
56
+ { name: "align", required: true, values: ["left", "center", "right"],
57
+ summary: "Aligns the Words within each line of the Cue." },
58
+ { name: "block-align", required: false, values: ["start", "center", "end"], fallback: "center",
59
+ summary: "Aligns the Cue vertically inside a fixed-height Caption Region." },
60
+ { name: "inline-size", required: false, values: ["hug", "fixed"], fallback: "hug",
61
+ summary: "Chooses whether the Cue hugs its text up to the Region width or fills the Region width." },
62
+ { name: "wrap", required: false, values: ["word", "grapheme"], fallback: "word",
63
+ summary: "Wraps at Word boundaries, falling back for an over-wide Word, or permits a break at any grapheme." },
64
+ { name: "max-lines", required: false,
65
+ summary: "Rejects too many counted rows; requires max-words-per-line. Does not measure browser wrapping or guarantee a single physical line." },
66
+ { name: "max-words-per-line", required: false,
67
+ summary: "Optional counted row breaks between complete alignment units. Counts display Words, normally individual characters in Chinese; preserves Cues. Omit for width-based flow." },
68
+ { name: "direction", required: false, values: ["ltr", "rtl"], fallback: "ltr",
69
+ summary: "Sets the writing direction the Words are laid out in." },
70
+ { name: "line-height", required: true,
71
+ summary: "Sets the line box height as a multiple of the type size." },
72
+ { name: "letter-spacing", required: false, fallback: "0",
73
+ summary: "Adds pixels of tracking between glyphs." },
74
+ { name: "word-gap", required: false, fallback: "a quarter of size",
75
+ summary: "Sets pixel spacing between Latin words and at Chinese/Latin boundaries. Adjacent Han characters and full-width punctuation have no extra word gap; use letter-spacing for tracking." },
76
+ { name: "size", required: true,
77
+ summary: "Sets the type size in pixels." },
78
+ { name: "kerning", required: false, values: ["auto", "normal", "none"], fallback: "auto",
79
+ summary: "Controls font kerning for the complete uniform Cue flow." },
80
+ { name: "caps", required: false, values: ["normal", "small-caps", "all-small-caps"], fallback: "normal",
81
+ summary: "Chooses the OpenType caps presentation for every Word." },
82
+ { name: "text-transform", required: false, values: ["none", "uppercase", "lowercase", "capitalize"], fallback: "none",
83
+ summary: "Recases every display Word before it is drawn." },
84
+ { name: "fill", required: true,
85
+ summary: "Paints the glyph body of an ordinary Word, as an RGB or RGBA hex color." },
86
+ { name: "opacity", required: false, fallback: "1",
87
+ summary: "Fades the whole glyph Paint of an ordinary Word." },
88
+ { name: "gradient-from", required: false,
89
+ summary: "Starts a glyph gradient that replaces the flat fill, and must be written together with gradient-to." },
90
+ { name: "gradient-to", required: false,
91
+ summary: "Ends the glyph gradient, and must be written together with gradient-from." },
92
+ { name: "gradient-angle", required: false, fallback: "90",
93
+ summary: "Turns the glyph gradient by this many degrees." },
94
+ { name: "stroke-color", required: false, fallback: "#000000",
95
+ summary: "Paints the outline drawn around each glyph." },
96
+ { name: "stroke-width", required: false, fallback: "0",
97
+ summary: "Sets the glyph outline thickness in pixels, and the number that matters is its share of `size`: about a twentieth. At a `size` of 46 that is 2px, at 54 it is 3px. Write it from `size` every time rather than picking a pixel count, because the whole width shows — the outline is placed outside the letter, so it keeps the letterform but grows into the space around it twice as fast as a centred one would. Past about a tenth of `size` neighbouring letters meet, the counters fill in, and the caption reads as a slab rather than as words." },
98
+ { name: "shadow-color", required: false, fallback: "#000000",
99
+ summary: "Paints the soft drop shadow behind each glyph." },
100
+ { name: "shadow-opacity", required: false, fallback: "0",
101
+ summary: "Sets how strongly the glyph drop shadow reads." },
102
+ { name: "shadow-x", required: false, fallback: "0",
103
+ summary: "Slides the whole shadow sideways, so its ink lands at this plus `shadow-spread` plus about one and a half times `shadow-blur` from the letter. A shadow that reads as depth rather than as a second copy of the word stays under its own blur: around a fortieth of `size`, 1px at 46." },
104
+ { name: "shadow-y", required: false, fallback: "0",
105
+ summary: "Drops the whole shadow, positive downward, reaching this plus `shadow-spread` plus about one and a half times `shadow-blur`. Down is the direction that runs out of room: the gap between line boxes is `line-height` minus one, times `size`, and past it the shadow lands on the line below. Around a fortieth of `size`, 1px at 46." },
106
+ { name: "shadow-blur", required: false, fallback: "0",
107
+ summary: "Softens the glyph drop shadow by this many pixels. A shadow that only has to lift the caption off the picture is soft and short — a blur near a tenth of `size` with an offset a fraction of that. Much more and the shadow stops being an edge and becomes a grey cloud the letters sit in, which costs the contrast the shadow was there to protect." },
108
+ { name: "shadow-spread", required: false, fallback: "0",
109
+ summary: "Grows the shadow's silhouette before it is blurred, on every side. The shadow then reaches this plus the offset plus about one and a half times `shadow-blur`, so it is the smallest of the three: around a fiftieth of `size`, 1px at 46. Zero and below dilate nothing; the filter grows the shape and has no way to shrink it." },
110
+ { name: "long-shadow-color", required: false, fallback: "#000000",
111
+ summary: "Paints the solid extruded shadow trailing each glyph." },
112
+ { name: "long-shadow-opacity", required: false, fallback: "0",
113
+ summary: "Sets how strongly the extruded glyph shadow reads." },
114
+ { name: "long-shadow-distance", required: false, fallback: "0",
115
+ summary: "Sets how far the extruded glyph shadow travels in pixels. It is a deliberate graphic effect rather than separation from the picture, so it is chosen on purpose or left at zero. When used, a travel of a tenth to a fifth of `size` reads as depth; beyond that the extrusion reaches the line below and the block stops being readable as lines of text." },
116
+ { name: "long-shadow-angle", required: false, fallback: "45",
117
+ summary: "Sets the direction the extruded glyph shadow travels in degrees." },
118
+ { name: "glow-color", required: false, fallback: "#FFFFFF",
119
+ summary: "Paints the halo bloomed around each glyph." },
120
+ { name: "glow-opacity", required: false, fallback: "0",
121
+ summary: "Sets how strongly the glyph halo reads." },
122
+ { name: "glow-blur", required: false, fallback: "0",
123
+ summary: "Spreads the glyph halo by this many pixels. A halo reads as a halo while it stays close to the glyph — near a tenth of `size`. Spread wide it stops tracing the letters, fills the space between them and washes the caption into a bright smear; the gaps between letters go first, exactly as they do under a heavy outline." },
124
+ { name: "glow-spread", required: false, fallback: "0",
125
+ summary: "Grows the letterform before the halo is blurred, hard-edged, on every side. It adds to the blur rather than replacing it — the halo reaches this plus about one and a half times `glow-blur` — so it is the smaller number of the two: around a fiftieth of `size`, 1px at 46. At a fifth of `size` the dilated letters touch before any softening and the counters close." },
126
+ { name: "active-fill", required: false, fallback: "#FFD54A",
127
+ summary: "Paints the glyph body of the Word being spoken." },
128
+ { name: "active-opacity", required: false, fallback: "opacity",
129
+ summary: "Fades the whole glyph Paint of the Word being spoken." },
130
+ { name: "active-gradient-from", required: false,
131
+ summary: "Starts the active glyph gradient, and must be written together with active-gradient-to." },
132
+ { name: "active-gradient-to", required: false,
133
+ summary: "Ends the active glyph gradient, and must be written together with active-gradient-from." },
134
+ { name: "active-gradient-angle", required: false, fallback: "gradient-angle",
135
+ summary: "Turns the active glyph gradient by this many degrees." },
136
+ { name: "active-stroke-color", required: false, fallback: "stroke-color",
137
+ summary: "Paints the outline around the Word being spoken." },
138
+ { name: "active-stroke-width", required: false, fallback: "stroke-width",
139
+ summary: "Sets the active glyph outline thickness in pixels. It inherits `stroke-width`, and the same share of `size` holds: emphasis on the spoken Word is carried by its Paint, so thickening its outline past the rest buys little and closes the gaps between its letters first." },
140
+ { name: "active-shadow-color", required: false, fallback: "shadow-color",
141
+ summary: "Paints the drop shadow behind the Word being spoken." },
142
+ { name: "active-shadow-opacity", required: false, fallback: "shadow-opacity",
143
+ summary: "Sets how strongly the active drop shadow reads." },
144
+ { name: "active-shadow-x", required: false, fallback: "shadow-x",
145
+ summary: "Slides the spoken Word's shadow sideways. It inherits `shadow-x`, and the visible quantity is the difference: the shadow jumps by it as the Word becomes active and jumps back as it stops, which reads as the light moving mid-line." },
146
+ { name: "active-shadow-y", required: false, fallback: "shadow-y",
147
+ summary: "Drops the spoken Word's shadow, positive downward. It inherits `shadow-y`, and the visible quantity is the difference: the shadow steps down as the Word becomes active and back up as it stops, which reads as the Word lifting off the line." },
148
+ { name: "active-shadow-blur", required: false, fallback: "shadow-blur",
149
+ summary: "Softens the spoken Word's drop shadow, reaching about one and a half times this number. It inherits `shadow-blur`, and the visible quantity is the difference: any gap between the two reads as the Word sitting at a different depth from the words beside it." },
150
+ { name: "active-shadow-spread", required: false, fallback: "shadow-spread",
151
+ summary: "Grows the spoken Word's shadow silhouette before blur. It inherits `shadow-spread`, and the visible quantity is the difference. Zero and below dilate nothing; the filter grows the shape and has no way to shrink it." },
152
+ { name: "active-long-shadow-color", required: false, fallback: "long-shadow-color",
153
+ summary: "Paints the extruded shadow trailing the Word being spoken." },
154
+ { name: "active-long-shadow-opacity", required: false, fallback: "long-shadow-opacity",
155
+ summary: "Sets how strongly the active extruded shadow reads." },
156
+ { name: "active-long-shadow-distance", required: false, fallback: "long-shadow-distance",
157
+ summary: "Sets how far the active extruded shadow travels in pixels." },
158
+ { name: "active-long-shadow-angle", required: false, fallback: "long-shadow-angle",
159
+ summary: "Sets the direction the active extruded shadow travels in degrees." },
160
+ { name: "active-glow-color", required: false, fallback: "glow-color",
161
+ summary: "Paints the halo bloomed around the Word being spoken." },
162
+ { name: "active-glow-opacity", required: false, fallback: "glow-opacity",
163
+ summary: "Sets how strongly the active halo reads." },
164
+ { name: "active-glow-blur", required: false, fallback: "glow-blur",
165
+ summary: "Spreads the active halo by this many pixels. Widening it is the usual way of trying to make the spoken Word stand out, and the usual way of losing it: the halo leaves the glyph, fills the gaps to its neighbours and blurs the very Word it was meant to pick out. The Word is already picked out by its own Paint — leave this near `glow-blur`." },
166
+ { name: "active-glow-spread", required: false, fallback: "glow-spread",
167
+ summary: "Grows the spoken Word's letterform before its halo is blurred. It inherits `glow-spread`, and the visible quantity is the difference: the Word's halo is thicker than its neighbours' by exactly that, and the gap it closes first is `word-gap`." },
168
+ { name: "background", required: true,
169
+ summary: "Paints the Cue box behind the Words, as an RGB or RGBA hex color." },
170
+ { name: "border-color", required: false, fallback: "#00000000",
171
+ summary: "Paints the Cue box border." },
172
+ { name: "border-width", required: false, fallback: "0",
173
+ summary: "Sets the Cue box border thickness in pixels." },
174
+ { name: "padding", required: true,
175
+ summary: "Insets the Words from the Cue box edge, as one pixel number or a vertical and horizontal pair." },
176
+ { name: "radius", required: true,
177
+ summary: "Rounds the Cue box corners by this many pixels." },
178
+ { name: "cue-shadow-color", required: false, fallback: "#000000",
179
+ summary: "Paints the shadow cast by the Cue box rather than by its glyphs." },
180
+ { name: "cue-shadow-opacity", required: false, fallback: "0",
181
+ summary: "Sets the Cue box shadow opacity." },
182
+ { name: "cue-shadow-x", required: false, fallback: "0",
183
+ summary: "Slides the whole Cue box shadow sideways, so it clears the box on one side by this plus spread plus blur and is hidden behind it on the other. Kept under the blur it reads as depth; past it the shadow becomes a band beside the box." },
184
+ { name: "cue-shadow-y", required: false, fallback: "0",
185
+ summary: "Drops the whole Cue box shadow, positive downward. Kept under `cue-shadow-blur` it reads as the box lifting off the picture; past it the shadow's top edge clears the box and shows as a bare band under it." },
186
+ { name: "cue-shadow-blur", required: false, fallback: "0",
187
+ summary: "Softens the Cue box shadow, reaching about this far past the box and no further. This is the one place the two shadow families differ: a glyph `shadow-blur` is halved into a deviation and reaches half again as far, while this number is the reach. Around a tenth of `size`, 5px at 46." },
188
+ { name: "cue-shadow-spread", required: false, fallback: "0",
189
+ summary: "Grows the shadow rectangle before it is blurred, and unlike the glyph shadow it does contract: a negative spread equal to the blur pulls the shadow entirely behind the box. The edge sits at this plus `cue-shadow-blur` past every side, before any offset." },
190
+ { name: "underline", required: false, values: ["off", "always"], fallback: "off",
191
+ summary: "Decides whether every Word carries a rule beneath it." },
192
+ { name: "underline-color", required: false, fallback: "fill",
193
+ summary: "Paints the ordinary Word underline." },
194
+ { name: "underline-thickness", required: false, fallback: "2",
195
+ summary: "Sets the ordinary Word underline thickness in pixels." },
196
+ { name: "underline-offset", required: false, fallback: "4",
197
+ summary: "Drops the ordinary Word underline this many pixels below the baseline." },
198
+ { name: "active-underline", required: false, values: ["off", "current", "trail"], fallback: "off",
199
+ summary: "Decides whether the Word being spoken, or every Word up to it, carries a rule beneath it." },
200
+ { name: "active-underline-color", required: false, fallback: "#FFD54A",
201
+ summary: "Paints the active Word underline." },
202
+ { name: "active-underline-thickness", required: false, fallback: "3",
203
+ summary: "Sets the active Word underline thickness in pixels." },
204
+ { name: "active-underline-offset", required: false, fallback: "4",
205
+ summary: "Drops the active Word underline this many pixels below the baseline." },
206
+ { name: "karaoke", required: false, values: ["off", "current", "trail"], fallback: "off",
207
+ summary: "Decides whether the active Paint marks only the Word being spoken or every Word up to it." },
208
+ { name: "karaoke-transition", required: false, values: ["step", "wipe"], fallback: "step",
209
+ summary: "Decides whether the karaoke Paint snaps at the Word boundary or sweeps across the glyphs." },
210
+ { name: "active-box", required: false, values: ["off", "current", "trail"], fallback: "off",
211
+ summary: "Decides whether a highlight box sits behind the Word being spoken or behind every Word up to it." },
212
+ { name: "active-box-continuity", required: false, values: ["isolated", "joined"], fallback: "isolated",
213
+ summary: "Decides whether trailing highlight boxes stand apart or merge into one run." },
214
+ { name: "active-box-background", required: false, fallback: "#FFD54A",
215
+ summary: "Paints the highlight box behind the active Word." },
216
+ { name: "active-box-border-color", required: false, fallback: "#00000000",
217
+ summary: "Paints the highlight box border." },
218
+ { name: "active-box-border-width", required: false, fallback: "0",
219
+ summary: "Sets the highlight box border thickness in pixels." },
220
+ { name: "active-box-padding", required: false, fallback: "0",
221
+ summary: "Insets the Word from the highlight box edge, as one pixel number or a vertical and horizontal pair." },
222
+ { name: "active-box-radius", required: false, fallback: "8",
223
+ summary: "Rounds the highlight box corners by this many pixels." },
224
+ { name: "active-box-enter", required: false, values: fineCaptionOneShotMotions, fallback: "none",
225
+ summary: "Plays this motion as the highlight box arrives on a Word." },
226
+ { name: "active-box-exit", required: false, values: fineCaptionOneShotMotions, fallback: "none",
227
+ summary: "Plays this motion as the highlight box leaves a Word." },
228
+ { name: "active-box-transition-frames", required: false, fallback: "0",
229
+ summary: "Sets how many Frames the highlight box entrance and exit each run for." },
230
+ { name: "cue-enter", required: false, values: fineCaptionOneShotMotions, fallback: "none",
231
+ summary: "Plays this motion as a Cue arrives." },
232
+ { name: "cue-enter-frames", required: false, fallback: "0",
233
+ summary: "Sets how many Frames the Cue entrance runs for." },
234
+ { name: "cue-enter-start-scale", required: false,
235
+ summary: "Overrides the Cue entrance motion's initial uniform scale while preserving that motion's own curve; 0.55 begins at fifty-five percent size and settles at one." },
236
+ { name: "cue-exit", required: false, values: fineCaptionOneShotMotions, fallback: "none",
237
+ summary: "Plays this motion as a Cue leaves." },
238
+ { name: "cue-exit-frames", required: false, fallback: "0",
239
+ summary: "Sets how many Frames the Cue exit runs for." },
240
+ { name: "atom-enter", required: false, values: fineCaptionOneShotMotions, fallback: "none",
241
+ summary: "Plays this motion as an Atom arrives within its Cue." },
242
+ { name: "atom-enter-frames", required: false, fallback: "0",
243
+ summary: "Sets how many Frames the Atom entrance runs for." },
244
+ { name: "atom-exit", required: false, values: fineCaptionOneShotMotions, fallback: "none",
245
+ summary: "Plays this motion as an Atom leaves within its Cue." },
246
+ { name: "atom-exit-frames", required: false, fallback: "0",
247
+ summary: "Sets how many Frames the Atom exit runs for." },
248
+ { name: "atom-reveal", required: false, values: ["all", "on-start", "typewriter"], fallback: "all",
249
+ summary: "Decides whether a Cue shows all of its Atoms at once or uncovers them as they are spoken." },
250
+ { name: "active-response", required: false, values: fineCaptionOneShotMotions, fallback: "none",
251
+ summary: "Plays this motion on a Word at the moment it becomes the spoken one." },
252
+ { name: "active-response-frames", required: false, fallback: "6",
253
+ summary: "Sets how many Frames the active response runs for." },
254
+ { name: "active-scale", required: false, fallback: "1.08",
255
+ summary: "Sets how far the active response grows the Word." },
256
+ { name: "slide-distance", required: false, fallback: "24",
257
+ summary: "Sets how far the sliding and wiping motions travel in pixels." },
258
+ { name: "loop", required: false, fallback: "none",
259
+ values: ["none", "shake", "wobble", "glow-pulse", "breathe", "float", "pulse", "flicker"],
260
+ summary: "Plays this motion continuously for as long as its target is on screen." },
261
+ { name: "loop-target", required: false, values: ["cue", "active-atom"], fallback: "cue",
262
+ summary: "Decides whether the looping motion moves the whole Cue or only the Atom being spoken." },
263
+ { name: "loop-period-frames", required: false, fallback: "12",
264
+ summary: "Sets how many Frames one cycle of the looping motion takes." },
265
+ { name: "loop-intensity", required: false, fallback: "1",
266
+ summary: "Scales how far the looping motion carries." },
267
+ { name: "lead-frames", required: false, fallback: "0",
268
+ summary: "Makes the Cue visible this many Frames before its first semantic Word without moving any Word timing." },
269
+ { name: "tail-frames", required: false, fallback: "0",
270
+ summary: "Keeps the Cue visible this many Frames after its last semantic Word without extending any Word timing." },
271
+ { name: "handoff", required: false, values: ["cut", "overlap"], fallback: "cut",
272
+ summary: "Chooses whether adjacent Cue visibility envelopes meet without overlap or may coexist." },
273
+ ] },
274
+ { name: "font", kind: "reference", required: true,
275
+ accepts: [mediaTypes.fontArtifact, mediaTypes.fontStack],
276
+ summary: "Chooses the primary face, or a whole reusable stack that already carries its own fallbacks." },
277
+ ],
278
+ children: [
279
+ { tag: "Fallback", cardinality: "many",
280
+ summary: "Appends one more exact face after the primary one, in the order written, and accepts no children of its own.",
281
+ attributes: [
282
+ { name: "font", kind: "reference", required: true, accepts: [mediaTypes.fontArtifact],
283
+ summary: "Chooses the single face this fallback contributes." },
284
+ ] },
285
+ ],
286
+ example: `<fonts:Stack id="caption-font" family="inter" weight="800" style="normal"/>
287
+ <caption-fine:Style id="primary-caption" recipe={recipes.caption.primary} font={caption-font}/>`,
288
+ notes: [
289
+ "Referencing a font stack in `font` and writing `<Fallback>` children are both allowed; the stack's faces come first.",
290
+ "The Style is addressed by its own id, and the element accepts no text.",
291
+ "The Recipe accepts only the properties declared here; any other property is rejected.",
292
+ "A gradient needs both of its colors: writing any one of `gradient-from`, `gradient-to` or `gradient-angle` without both colors is rejected, and the same holds for the `active-` gradient.",
293
+ "The active glyph Paint inherits every base property it does not override, except the gradient, which the active Paint drops unless it writes its own.",
294
+ ],
295
+ },
296
+ },
297
+ {
298
+ name: "track", tag: "Track", mode: "structured", outputs: [captionFineTypes.schedule, compositionTypes.visualTrack],
299
+ vocabulary: {
300
+ summary: "Joins the authored CaptionDocument against the SemanticTrack and renders it as one ordinary peer VisualTrack.",
301
+ appearance: "One block of caption text wrapped into lines inside a rounded Cue box, placed at a Recipe-chosen point on the Canvas and spanning a fraction of its width. Cues follow the speech one after another, each arriving and leaving with its own motion, and the Words of a Cue either stand there together from its first Frame or uncover as they are spoken. As the speech advances, the Word being spoken, or every Word up to it, is repainted in the active Paint, snapping at the Word boundary or sweeping across the glyphs, and it may take a rule beneath it, a rounded highlight capsule behind it and a brief pop at the moment it becomes the spoken one. That capsule either stands alone on each Atom or grows as one continuous run over everything already read, following the Words across line breaks.\n\nEvery Cue uses the ordered exact font stack its Style names, with fallback faces supplying glyphs for other scripts. Emphasis varies by timed unit through the active Paint. Lines follow the common flow, so a line cannot be given a separate face, colour or weight of its own. A caption whose lines are set in different typefaces is outside what this Track can draw.",
302
+ preview: previewImage("Track.png"),
303
+ attributes: [
304
+ { name: "id", kind: "identifier", required: true,
305
+ summary: "Names this Track so its rendered output can be placed in a Film." },
306
+ { name: "document", kind: "reference", required: true, accepts: [narrativeTypes.captionDocument],
307
+ summary: "Chooses the Script-owned CaptionDocument." },
308
+ { name: "semantic", kind: "reference", required: true, accepts: [semanticTrackTypes.track],
309
+ summary: "Chooses the continuous SemanticTrack whose Word anchors give every Cue its time." },
310
+ { name: "program", kind: "reference", required: true, accepts: [captionTypes.program],
311
+ summary: "Chooses the Style assignment that decides which Style each run is rendered in." },
312
+ { name: "regions", kind: "reference", required: false, accepts: [spatialTypes.regionTimeline],
313
+ summary: "Optionally follows external, frame-exact regions whose ids equal Script Roles, placing a Cue at its measured speaker region's top center and hiding it on null Frames." },
314
+ ],
315
+ ports: [
316
+ { name: "schedule", type: captionFineTypes.schedule,
317
+ summary: "The visible Cue schedule consumed by the renderer and other declared tools." },
318
+ { name: "track", type: compositionTypes.visualTrack,
319
+ summary: "The rendered Caption as one self-contained VisualTrack." },
320
+ ],
321
+ example: `<caption-fine:Track id="captions" document={story.caption} semantic={speech.semantic} program={caption-program}/>`,
322
+ notes: [
323
+ "The element is empty; it accepts no children and no text.",
324
+ "One Track renders the Program's default Style and every ordered replacement together.",
325
+ "Without regions, Recipe x/y placement is unchanged. With regions, a measured region overrides x/y for that Frame; a null Frame on that Role track hides the Cue, while a missing Role track retains authored x/y.",
326
+ "The tracked point replaces Recipe x/y while width and the Recipe anchor still decide the Caption box geometry; anchor-x=center and anchor-y=bottom place the box immediately above the measured region.",
327
+ ],
328
+ },
329
+ },
330
+ ] as const;
331
+
332
+
333
+ export const captionFineManifest: ModuleManifest = {
334
+ format: "hypit.module@1",
335
+ name: captionFineModuleRef.name,
336
+ version: captionFineModuleRef.version,
337
+ dependencies: [
338
+ { module: captionModuleRef },
339
+ compositionDependency,
340
+ mediaDependency,
341
+ narrativeDependency,
342
+ programSpaceDependency,
343
+ semanticTrackDependency,
344
+ spatialDependency,
345
+ ],
346
+ types: [{ name: captionFineTypes.schedule.name }],
347
+ capabilities: [],
348
+ producers: [
349
+ {
350
+ name: captionFineProducers.schedule.name,
351
+ inputs: [
352
+ { name: "caption", type: captionTypes.timedProjection },
353
+ { name: "program", type: captionTypes.program },
354
+ { name: "document", type: narrativeTypes.captionDocument },
355
+ ],
356
+ outputs: [{ name: "schedule", type: captionFineTypes.schedule }],
357
+ needs: [],
358
+ },
359
+ {
360
+ name: captionFineProducers.render.name,
361
+ inputs: [
362
+ { name: "schedule", type: captionFineTypes.schedule },
363
+ { name: "program", type: captionTypes.program },
364
+ { name: "document", type: narrativeTypes.captionDocument },
365
+ { name: "space", type: programSpaceTypes.programSpace },
366
+ ],
367
+ outputs: [{ name: "track", type: compositionTypes.visualTrack }],
368
+ needs: [],
369
+ },
370
+ {
371
+ name: captionFineProducers.renderWithRegions.name,
372
+ inputs: [
373
+ { name: "schedule", type: captionFineTypes.schedule },
374
+ { name: "program", type: captionTypes.program },
375
+ { name: "document", type: narrativeTypes.captionDocument },
376
+ { name: "space", type: programSpaceTypes.programSpace },
377
+ { name: "regions", type: spatialTypes.regionTimeline },
378
+ ],
379
+ outputs: [{ name: "track", type: compositionTypes.visualTrack }],
380
+ needs: [],
381
+ },
382
+ ],
383
+ };
@@ -0,0 +1,120 @@
1
+ import type { ValueSchema } from "@hypit/protocol";
2
+
3
+ export const fineCaptionOneShotMotions = [
4
+ "none", "fade", "pop", "scale", "spring", "bounce", "elastic", "stamp", "tilt", "zoom-blur",
5
+ "flip-x", "flip-y", "spin", "squash", "stretch", "slide-left", "slide-right", "slide-up", "slide-down",
6
+ "blur-in", "wipe-left", "wipe-right", "wipe-up", "wipe-down",
7
+ ] as const;
8
+
9
+ const paired = (...names: readonly string[]): readonly string[] =>
10
+ names.flatMap((name) => [name, `active-${name}`]);
11
+
12
+ const colors = new Set([
13
+ ...paired("fill", "glow-color", "gradient-from", "gradient-to", "long-shadow-color", "shadow-color", "stroke-color"),
14
+ "background", "border-color", "cue-shadow-color", "underline-color",
15
+ "active-box-background", "active-box-border-color", "active-underline-color",
16
+ ]);
17
+
18
+ const unitFractions = new Set([
19
+ "cue-shadow-opacity", "height", "x", "y", "width",
20
+ ...paired("opacity", "glow-opacity", "long-shadow-opacity", "shadow-opacity"),
21
+ ]);
22
+
23
+ const integers = new Set([
24
+ "stack-order",
25
+ "lead-frames", "tail-frames",
26
+ "max-lines", "max-words-per-line",
27
+ "active-box-transition-frames", "active-response-frames",
28
+ "atom-enter-frames", "atom-exit-frames", "cue-enter-frames", "cue-exit-frames",
29
+ "loop-period-frames",
30
+ ]);
31
+
32
+ const numbers = new Set([
33
+ "size", "radius", "line-height", "border-width", "letter-spacing", "loop-intensity",
34
+ "cue-shadow-blur", "cue-shadow-spread", "cue-shadow-x", "cue-shadow-y",
35
+ "cue-enter-start-scale",
36
+ "slide-distance", "word-gap", "active-box-border-width", "active-box-radius", "active-scale",
37
+ "underline-offset", "underline-thickness", "active-underline-offset", "active-underline-thickness",
38
+ ...paired("glow-blur", "glow-spread", "gradient-angle", "long-shadow-angle", "long-shadow-distance",
39
+ "shadow-blur", "shadow-spread", "shadow-x", "shadow-y", "stroke-width"),
40
+ ]);
41
+
42
+ const strings = new Set(["padding", "active-box-padding"]);
43
+
44
+ const enums: Readonly<Record<string, readonly string[]>> = {
45
+ "handoff": ["cut", "overlap"],
46
+ "align": ["left", "center", "right"],
47
+ "block-align": ["start", "center", "end"],
48
+ "anchor-x": ["left", "center", "right"],
49
+ "anchor-y": ["top", "center", "bottom"],
50
+ "direction": ["ltr", "rtl"],
51
+ "inline-size": ["hug", "fixed"],
52
+ "wrap": ["word", "grapheme"],
53
+ "kerning": ["auto", "normal", "none"],
54
+ "caps": ["normal", "small-caps", "all-small-caps"],
55
+ "text-transform": ["none", "uppercase", "lowercase", "capitalize"],
56
+ "atom-reveal": ["all", "on-start", "typewriter"],
57
+ "karaoke": ["off", "current", "trail"],
58
+ "karaoke-transition": ["step", "wipe"],
59
+ "underline": ["off", "always"],
60
+ "active-underline": ["off", "current", "trail"],
61
+ "active-box": ["off", "current", "trail"],
62
+ "active-box-continuity": ["isolated", "joined"],
63
+ "loop": ["none", "shake", "wobble", "glow-pulse", "breathe", "float", "pulse", "flicker"],
64
+ "loop-target": ["cue", "active-atom"],
65
+ "cue-enter": fineCaptionOneShotMotions,
66
+ "cue-exit": fineCaptionOneShotMotions,
67
+ "atom-enter": fineCaptionOneShotMotions,
68
+ "atom-exit": fineCaptionOneShotMotions,
69
+ "active-box-enter": fineCaptionOneShotMotions,
70
+ "active-box-exit": fineCaptionOneShotMotions,
71
+ "active-response": fineCaptionOneShotMotions,
72
+ };
73
+
74
+ export const fineCaptionRequiredRecipeProperties = [
75
+ "align", "background", "fill",
76
+ "line-height", "padding", "radius", "size", "stack-order", "width", "x", "y",
77
+ ] as const;
78
+
79
+ export const fineCaptionOptionalRecipeProperties = [
80
+ "active-box", "active-box-background", "active-box-border-color", "active-box-border-width",
81
+ "active-box-continuity", "active-box-enter", "active-box-exit", "active-box-padding", "active-box-radius",
82
+ "active-box-transition-frames", "active-fill", "active-glow-blur", "active-glow-color", "active-glow-opacity",
83
+ "active-glow-spread",
84
+ "active-gradient-angle", "active-gradient-from", "active-gradient-to", "active-long-shadow-angle",
85
+ "active-long-shadow-color", "active-long-shadow-distance", "active-long-shadow-opacity", "active-opacity",
86
+ "active-response", "active-response-frames", "active-scale", "active-shadow-blur", "active-shadow-color", "active-shadow-opacity",
87
+ "active-shadow-spread", "active-shadow-x", "active-shadow-y", "active-stroke-color", "active-stroke-width", "active-underline",
88
+ "active-underline-color", "active-underline-offset", "active-underline-thickness", "anchor-x", "anchor-y",
89
+ "atom-enter", "atom-enter-frames", "atom-exit", "atom-exit-frames", "atom-reveal", "block-align", "border-color", "border-width", "caps", "cue-enter",
90
+ "cue-shadow-blur", "cue-shadow-color", "cue-shadow-opacity", "cue-shadow-spread", "cue-shadow-x", "cue-shadow-y",
91
+ "cue-enter-frames", "cue-enter-start-scale", "cue-exit", "cue-exit-frames", "direction", "glow-blur", "glow-color",
92
+ "glow-opacity", "glow-spread", "gradient-angle", "gradient-from", "gradient-to", "height", "inline-size", "karaoke", "karaoke-transition", "kerning",
93
+ "handoff", "lead-frames", "letter-spacing", "long-shadow-angle", "long-shadow-color", "long-shadow-distance", "long-shadow-opacity",
94
+ "loop", "loop-intensity", "loop-period-frames", "loop-target", "max-lines", "max-words-per-line", "opacity", "shadow-blur", "shadow-color",
95
+ "shadow-opacity", "shadow-spread", "shadow-x", "shadow-y", "slide-distance", "stroke-color", "stroke-width", "text-transform",
96
+ "tail-frames", "underline", "underline-color", "underline-offset", "underline-thickness", "word-gap", "wrap",
97
+ ] as const;
98
+
99
+ function schemaFor(name: string): ValueSchema {
100
+ if (colors.has(name)) return { kind: "string" };
101
+ if (unitFractions.has(name)) return { kind: "number", minimum: 0, maximum: 1 };
102
+ if (integers.has(name)) return { kind: "number", integer: true };
103
+ if (numbers.has(name)) return { kind: "number" };
104
+ if (strings.has(name)) return { kind: "string" };
105
+ const values = enums[name];
106
+ if (values !== undefined) return { kind: "string", enum: values };
107
+ throw new Error(`Fine Caption Recipe property ${name} has no declared value shape`);
108
+ }
109
+
110
+ const required = new Set<string>(fineCaptionRequiredRecipeProperties);
111
+ const properties = [...fineCaptionRequiredRecipeProperties, ...fineCaptionOptionalRecipeProperties];
112
+
113
+ /** Public author contract for the exact properties accepted by a Fine Caption SVS Recipe. */
114
+ export const fineCaptionRecipeSchema: ValueSchema = {
115
+ kind: "object",
116
+ fields: Object.fromEntries(properties.map((name) => [
117
+ name,
118
+ required.has(name) ? { schema: schemaFor(name) } : { schema: schemaFor(name), optional: true },
119
+ ])),
120
+ };