@hypit/hypit 0.1.4 → 0.1.6

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 (462) hide show
  1. package/README.md +4 -2
  2. package/dist/public/caption.d.ts +206 -183
  3. package/dist/public/composition.d.ts +25 -3
  4. package/dist/public/endpoint-kit.d.ts +24 -2
  5. package/dist/public/generation.d.ts +5 -1
  6. package/dist/public/hyperframes.d.ts +19 -1
  7. package/dist/public/narrative.d.ts +17 -3
  8. package/dist/public/performance.d.ts +1590 -0
  9. package/dist/public/program-space.d.ts +179 -32
  10. package/dist/public/runtime-kit.d.ts +21 -8
  11. package/dist/public/sound.d.ts +822 -0
  12. package/dist/public/speech.d.ts +41 -0
  13. package/dist/public/studio-adapter.d.ts +77 -15
  14. package/dist/public/temporal-markup.d.ts +9 -44
  15. package/dist/public/temporal.d.ts +37 -28
  16. package/dist/public/{semantic-track.d.ts → timeline.d.ts} +62 -49
  17. package/examples/README.md +18 -10
  18. package/examples/minimal-author-package/packages/example-component/preview/preview.svml +19 -12
  19. package/examples/minimal-author-package/packages/example-component/src/component.ts +5 -5
  20. package/examples/minimal-author-package/packages/example-component/src/fragment.ts +3 -5
  21. package/examples/minimal-author-package/packages/example-component/src/manifest.ts +8 -10
  22. package/examples/minimal-author-package/packages/example-component/src/surface.ts +2 -2
  23. package/examples/provider-package/README.md +78 -0
  24. package/examples/provider-package/hypit.runtime.json +12 -0
  25. package/examples/provider-package/packages/provider-images/package.json +11 -0
  26. package/examples/provider-package/packages/provider-images/src/activation.ts +24 -0
  27. package/examples/provider-package/packages/provider-images/src/provider.ts +122 -0
  28. package/examples/provider-package/packages/provider-images/tsconfig.json +9 -0
  29. package/examples/semantic-composition/README.md +8 -1
  30. package/examples/semantic-composition/chat.svml +6 -5
  31. package/examples/semantic-composition/hypit.runtime.json +1 -1
  32. package/examples/semantic-composition/packages/chat-scene/README.md +3 -3
  33. package/examples/semantic-composition/packages/chat-scene/src/activation.ts +18 -21
  34. package/examples/semantic-composition/packages/chat-scene/src/render.ts +4 -4
  35. package/examples/semantic-composition/packages/performance-styles/README.md +42 -0
  36. package/examples/semantic-composition/packages/performance-styles/package.json +25 -0
  37. package/examples/semantic-composition/packages/performance-styles/src/activation.ts +57 -0
  38. package/examples/semantic-composition/packages/performance-styles/src/render.ts +54 -0
  39. package/examples/semantic-composition/packages/performance-styles/src/studio.ts +28 -0
  40. package/examples/semantic-composition/packages/performance-styles/tsconfig.json +18 -0
  41. package/examples/semantic-composition/packages/responsive-explainer/README.md +16 -9
  42. package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +12 -12
  43. package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +5 -5
  44. package/examples/semantic-composition/packages/sound-styles/README.md +36 -0
  45. package/examples/semantic-composition/packages/sound-styles/package.json +25 -0
  46. package/examples/semantic-composition/packages/sound-styles/src/activation.ts +53 -0
  47. package/examples/semantic-composition/packages/sound-styles/src/render.ts +14 -0
  48. package/examples/semantic-composition/packages/sound-styles/tsconfig.json +18 -0
  49. package/package.json +35 -15
  50. package/packages/audio-track/README.md +20 -13
  51. package/packages/audio-track/package.json +1 -1
  52. package/packages/audio-track/src/component.ts +4 -4
  53. package/packages/audio-track/src/fragment.ts +6 -5
  54. package/packages/audio-track/src/index.ts +1 -1
  55. package/packages/audio-track/src/manifest.ts +17 -16
  56. package/packages/audio-track/src/program.ts +21 -25
  57. package/packages/audio-track/src/surface.ts +19 -18
  58. package/packages/audio-track-studio/README.md +23 -0
  59. package/packages/audio-track-studio/src/index.ts +28 -17
  60. package/packages/author-kit/README.md +1 -1
  61. package/packages/background-removal/README.md +4 -7
  62. package/packages/browser-capture/package.json +1 -1
  63. package/packages/build-result/README.md +11 -0
  64. package/packages/build-result/src/decode.ts +2 -0
  65. package/packages/build-result/src/execution-log.ts +17 -0
  66. package/packages/build-result/src/index.ts +1 -0
  67. package/packages/build-result/src/store.ts +14 -1
  68. package/packages/build-result/src/types.ts +3 -0
  69. package/packages/build-result-s3/src/repository.ts +4 -0
  70. package/packages/caption/README.md +61 -73
  71. package/packages/caption/package.json +3 -2
  72. package/packages/caption/src/activation.ts +2 -2
  73. package/packages/caption/src/component.ts +20 -5
  74. package/packages/caption/src/display.ts +3 -18
  75. package/packages/caption/src/fragment.ts +3 -7
  76. package/packages/caption/src/index.ts +6 -5
  77. package/packages/caption/src/manifest.ts +29 -46
  78. package/packages/caption/src/style.ts +24 -135
  79. package/packages/caption/src/surface.ts +12 -92
  80. package/packages/caption/src/temporalize.ts +18 -53
  81. package/packages/caption/src/types.ts +8 -35
  82. package/packages/caption/src/visibility.ts +23 -0
  83. package/packages/caption-fine/README.md +21 -9
  84. package/packages/caption-fine/package.json +4 -2
  85. package/packages/caption-fine/src/component.ts +3 -3
  86. package/packages/caption-fine/src/fragment.ts +7 -19
  87. package/packages/caption-fine/src/index.ts +2 -0
  88. package/packages/caption-fine/src/manifest.ts +26 -17
  89. package/packages/caption-fine/src/recipe.ts +7 -0
  90. package/packages/caption-fine/src/render.ts +14 -13
  91. package/packages/caption-fine/src/schedule.ts +39 -35
  92. package/packages/caption-fine/src/style.ts +10 -9
  93. package/packages/caption-fine/src/surface.ts +62 -35
  94. package/packages/caption-fine/src/types.ts +2 -0
  95. package/packages/caption-fine-studio/README.md +24 -2
  96. package/packages/caption-fine-studio/package.json +3 -1
  97. package/packages/caption-fine-studio/src/activation.ts +3 -3
  98. package/packages/caption-fine-studio/src/index.ts +54 -42
  99. package/packages/cli/README.md +57 -4
  100. package/packages/cli/package.json +1 -0
  101. package/packages/cli/src/arguments.ts +25 -6
  102. package/packages/cli/src/build-planning.ts +3 -2
  103. package/packages/cli/src/command.ts +6 -0
  104. package/packages/cli/src/commands/environment.ts +28 -18
  105. package/packages/cli/src/commands/execution.ts +81 -26
  106. package/packages/cli/src/commands/results.ts +7 -11
  107. package/packages/cli/src/index.ts +2 -2
  108. package/packages/cli/src/machine-view.ts +3 -2
  109. package/packages/cli/src/main.ts +34 -42
  110. package/packages/cli/src/observation.ts +7 -1
  111. package/packages/cli/src/output.ts +65 -23
  112. package/packages/cli/src/view.ts +66 -19
  113. package/packages/comment-sticker/README.md +3 -3
  114. package/packages/comment-sticker/package.json +1 -1
  115. package/packages/comment-sticker/src/component.ts +4 -4
  116. package/packages/comment-sticker/src/fragment.ts +5 -4
  117. package/packages/comment-sticker/src/manifest.ts +7 -6
  118. package/packages/comment-sticker/src/program.ts +9 -9
  119. package/packages/comment-sticker/src/surface.ts +6 -7
  120. package/packages/composition/README.md +21 -0
  121. package/packages/composition/src/audio-presentation.ts +44 -0
  122. package/packages/composition/src/index.ts +3 -0
  123. package/packages/composition/src/schema.ts +8 -3
  124. package/packages/composition/src/track.ts +15 -1
  125. package/packages/credential-store-env/README.md +1 -1
  126. package/packages/deck-track/README.md +3 -3
  127. package/packages/deck-track/package.json +1 -1
  128. package/packages/deck-track/src/component.ts +5 -5
  129. package/packages/deck-track/src/fragment.ts +6 -5
  130. package/packages/deck-track/src/lower.ts +12 -12
  131. package/packages/deck-track/src/manifest.ts +8 -7
  132. package/packages/deck-track/src/program.ts +13 -16
  133. package/packages/deck-track/src/surface.ts +9 -10
  134. package/packages/driver-node/src/driver.ts +41 -3
  135. package/packages/elevenlabs-speech/README.md +27 -0
  136. package/packages/{provider-xiaomi-mimo → elevenlabs-speech}/package.json +5 -8
  137. package/packages/elevenlabs-speech/src/activation.ts +26 -0
  138. package/packages/elevenlabs-speech/src/fragment.ts +11 -0
  139. package/packages/elevenlabs-speech/src/index.ts +111 -0
  140. package/packages/elevenlabs-speech/src/surface.ts +167 -0
  141. package/packages/endpoint-kit/README.md +24 -0
  142. package/packages/endpoint-kit/src/index.ts +7 -1
  143. package/packages/film/README.md +12 -7
  144. package/packages/film/package.json +1 -1
  145. package/packages/film/src/component.ts +4 -4
  146. package/packages/film/src/fragment.ts +6 -5
  147. package/packages/film/src/manifest.ts +11 -10
  148. package/packages/film/src/program.ts +5 -5
  149. package/packages/film/src/recipe.ts +2 -1
  150. package/packages/film/src/surface.ts +10 -7
  151. package/packages/film-studio/package.json +1 -1
  152. package/packages/film-studio/src/index.ts +2 -2
  153. package/packages/fishaudio-speech/README.md +33 -0
  154. package/packages/fishaudio-speech/package.json +21 -0
  155. package/packages/fishaudio-speech/src/activation.ts +32 -0
  156. package/packages/fishaudio-speech/src/fragment.ts +11 -0
  157. package/packages/fishaudio-speech/src/index.ts +156 -0
  158. package/packages/fishaudio-speech/src/surface.ts +192 -0
  159. package/packages/generation/README.md +11 -1
  160. package/packages/generation/src/mapping.ts +28 -30
  161. package/packages/gpt-image/README.md +1 -2
  162. package/packages/grok-imagine/README.md +1 -2
  163. package/packages/hyperframes/README.md +7 -3
  164. package/packages/hyperframes/src/browser-program.ts +11 -2
  165. package/packages/hyperframes/src/document.ts +15 -2
  166. package/packages/interview-emoji-reveal/README.md +4 -4
  167. package/packages/interview-emoji-reveal/package.json +1 -1
  168. package/packages/interview-emoji-reveal/src/component.ts +4 -4
  169. package/packages/interview-emoji-reveal/src/fragment.ts +6 -5
  170. package/packages/interview-emoji-reveal/src/manifest.ts +9 -8
  171. package/packages/interview-emoji-reveal/src/program.ts +14 -14
  172. package/packages/interview-emoji-reveal/src/surface.ts +8 -9
  173. package/packages/media-execution/README.md +7 -3
  174. package/packages/media-execution/src/audio-presentation.ts +23 -0
  175. package/packages/media-execution/src/execute.ts +2 -0
  176. package/packages/media-pipeline/README.md +7 -3
  177. package/packages/media-pipeline/src/audio-plan.ts +4 -1
  178. package/packages/media-pipeline/src/component.ts +16 -2
  179. package/packages/media-pipeline/src/manifest.ts +3 -1
  180. package/packages/media-pipeline/src/types.ts +2 -1
  181. package/packages/media-track/README.md +14 -47
  182. package/packages/media-track/package.json +1 -1
  183. package/packages/media-track/preview/preview.svml +5 -5
  184. package/packages/media-track/src/author.ts +12 -6
  185. package/packages/media-track/src/component.ts +10 -16
  186. package/packages/media-track/src/fragment.ts +8 -7
  187. package/packages/media-track/src/index.ts +3 -1
  188. package/packages/media-track/src/lower.ts +7 -7
  189. package/packages/media-track/src/manifest.ts +16 -38
  190. package/packages/media-track/src/program.ts +62 -67
  191. package/packages/media-track/src/sampling.ts +6 -6
  192. package/packages/media-track/src/sequence.ts +8 -8
  193. package/packages/media-track/src/surface.ts +25 -43
  194. package/packages/media-track-studio/README.md +9 -0
  195. package/packages/media-track-studio/src/index.ts +16 -11
  196. package/packages/mimo-speech/README.md +1 -1
  197. package/packages/minimax-h3/README.md +1 -1
  198. package/packages/nano-banana/README.md +1 -1
  199. package/packages/narrative/README.md +23 -1
  200. package/packages/narrative/src/identity.ts +11 -0
  201. package/packages/narrative/src/index.ts +3 -0
  202. package/packages/narrative/src/schema.ts +28 -27
  203. package/packages/narrative/src/selection.ts +52 -0
  204. package/packages/narrative/src/types.ts +2 -0
  205. package/packages/package-loader-node/README.md +30 -0
  206. package/packages/package-loader-node/package.json +5 -2
  207. package/packages/package-loader-node/src/distribution-resolution.ts +10 -3
  208. package/packages/package-loader-node/src/index.ts +1 -0
  209. package/packages/package-loader-node/src/loader.ts +12 -15
  210. package/packages/package-loader-node/src/location.ts +27 -1
  211. package/packages/package-loader-node/src/module-scope.ts +183 -0
  212. package/packages/package-loader-node/src/types.ts +4 -0
  213. package/packages/performance/README.md +83 -0
  214. package/packages/performance/package.json +30 -0
  215. package/packages/performance/src/activation.ts +11 -0
  216. package/packages/performance/src/component.ts +46 -0
  217. package/packages/performance/src/index.ts +6 -0
  218. package/packages/performance/src/manifest.ts +53 -0
  219. package/packages/{media-track/src/performance.ts → performance/src/media.ts} +9 -10
  220. package/packages/performance/src/program.ts +51 -0
  221. package/packages/performance/src/style.ts +35 -0
  222. package/packages/performance/src/surface.ts +99 -0
  223. package/packages/performance-studio/README.md +25 -0
  224. package/packages/performance-studio/package.json +21 -0
  225. package/packages/performance-studio/src/activation.ts +6 -0
  226. package/packages/performance-studio/src/index.ts +84 -0
  227. package/packages/program-space/README.md +9 -18
  228. package/packages/program-space/src/activation.ts +1 -5
  229. package/packages/program-space/src/index.ts +2 -11
  230. package/packages/program-space/src/surface.ts +1 -20
  231. package/packages/project-context-node/README.md +20 -0
  232. package/packages/project-context-node/package.json +10 -0
  233. package/packages/project-context-node/src/index.ts +3 -0
  234. package/packages/{cli → project-context-node}/src/runtime-selection.ts +7 -2
  235. package/packages/provider-hyperframes-local/README.md +43 -15
  236. package/packages/provider-hyperframes-local/src/activation.ts +4 -3
  237. package/packages/provider-hyperframes-local/src/capture-process.ts +26 -4
  238. package/packages/provider-hyperframes-local/src/capture.ts +96 -26
  239. package/packages/provider-hyperframes-local/src/concurrency.ts +86 -0
  240. package/packages/provider-hyperframes-local/src/opaque-capture.ts +92 -0
  241. package/packages/provider-hyperframes-local/src/options.ts +2 -0
  242. package/packages/provider-hyperframes-local/src/program.ts +6 -3
  243. package/packages/provider-hyperframes-local/src/progress.ts +53 -0
  244. package/packages/provider-hyperframes-local/src/provider.ts +18 -5
  245. package/packages/provider-hyperframes-local/src/render.ts +48 -7
  246. package/packages/provider-hypihub/README.md +48 -17
  247. package/packages/provider-hypihub/package.json +2 -0
  248. package/packages/provider-hypihub/src/mapping.ts +31 -7
  249. package/packages/provider-hypihub/src/oauth.ts +6 -0
  250. package/packages/provider-hypihub/src/provider.ts +25 -13
  251. package/packages/provider-hypihub/src/routes.ts +1 -2
  252. package/packages/provider-hypihub/src/upload.ts +2 -0
  253. package/packages/provider-media-local/README.md +3 -4
  254. package/packages/provider-whisperx-local/src/program.ts +1 -0
  255. package/packages/provider-whisperx-local/src/provider.ts +3 -0
  256. package/packages/ranking/README.md +8 -6
  257. package/packages/ranking/package.json +1 -1
  258. package/packages/ranking/src/component.ts +6 -6
  259. package/packages/ranking/src/fragment.ts +11 -7
  260. package/packages/ranking/src/manifest.ts +21 -14
  261. package/packages/ranking/src/render.ts +22 -26
  262. package/packages/ranking/src/schedule.ts +16 -19
  263. package/packages/ranking/src/surface.ts +12 -13
  264. package/packages/ranking-studio/README.md +18 -0
  265. package/packages/ranking-studio/src/index.ts +61 -9
  266. package/packages/render-hyperframes/README.md +7 -7
  267. package/packages/render-hyperframes/package.json +1 -1
  268. package/packages/render-hyperframes/src/component.ts +11 -1
  269. package/packages/render-hyperframes/src/fragment.ts +7 -4
  270. package/packages/render-hyperframes/src/manifest.ts +4 -4
  271. package/packages/render-hyperframes/src/surface.ts +6 -6
  272. package/packages/runtime/README.md +8 -1
  273. package/packages/runtime/src/execution.ts +15 -4
  274. package/packages/runtime/src/index.ts +2 -1
  275. package/packages/runtime/src/log.ts +51 -0
  276. package/packages/runtime/src/types.ts +5 -8
  277. package/packages/runtime-host-node/README.md +30 -0
  278. package/packages/runtime-host-node/package.json +1 -0
  279. package/packages/runtime-host-node/src/index.ts +24 -9
  280. package/packages/runtime-host-node/src/packages.ts +47 -50
  281. package/packages/runtime-kit/README.md +5 -0
  282. package/packages/runtime-kit/src/index.ts +3 -1
  283. package/packages/runtime-local/README.md +109 -4
  284. package/packages/runtime-local/src/config.ts +202 -56
  285. package/packages/runtime-local/src/control.ts +9 -1
  286. package/packages/runtime-local/src/executor.ts +66 -0
  287. package/packages/runtime-local/src/host.ts +37 -17
  288. package/packages/runtime-local/src/log.ts +48 -0
  289. package/packages/runtime-local/src/programs.ts +2 -1
  290. package/packages/runtime-local/src/result-writer.ts +2 -0
  291. package/packages/runtime-local/src/runtime.ts +8 -6
  292. package/packages/runtime-local/src/supervisor.ts +142 -0
  293. package/packages/runtime-local/src/types.ts +9 -2
  294. package/packages/runtime-local/src/worker-process.ts +7 -24
  295. package/packages/runtime-local/src/worker.ts +55 -83
  296. package/packages/screen-overlay/README.md +3 -3
  297. package/packages/screen-overlay/package.json +1 -1
  298. package/packages/screen-overlay/src/component.ts +3 -3
  299. package/packages/screen-overlay/src/fragment.ts +5 -4
  300. package/packages/screen-overlay/src/manifest.ts +7 -6
  301. package/packages/screen-overlay/src/program.ts +9 -9
  302. package/packages/screen-overlay/src/surface.ts +6 -7
  303. package/packages/script/README.md +30 -5
  304. package/packages/script/src/manifest.ts +4 -3
  305. package/packages/script/src/narrative.ts +1 -0
  306. package/packages/script/src/parser.ts +45 -6
  307. package/packages/script/src/surface.ts +4 -3
  308. package/packages/script/src/types.ts +1 -1
  309. package/packages/script-studio/package.json +9 -3
  310. package/packages/script-studio/src/index.ts +2 -0
  311. package/packages/script-studio/src/projection.ts +105 -0
  312. package/packages/seedance/README.md +30 -1
  313. package/packages/seedance/src/index.ts +18 -7
  314. package/packages/seedance/src/surface.ts +17 -4
  315. package/packages/seedance-kits/README.md +7 -1
  316. package/packages/seedream/README.md +1 -1
  317. package/packages/sound/README.md +81 -0
  318. package/packages/sound/package.json +25 -0
  319. package/packages/sound/src/activation.ts +11 -0
  320. package/packages/sound/src/component.ts +28 -0
  321. package/packages/sound/src/index.ts +5 -0
  322. package/packages/sound/src/manifest.ts +47 -0
  323. package/packages/sound/src/program.ts +84 -0
  324. package/packages/sound/src/style.ts +34 -0
  325. package/packages/sound/src/surface.ts +90 -0
  326. package/packages/sound-studio/README.md +22 -0
  327. package/packages/sound-studio/package.json +20 -0
  328. package/packages/sound-studio/src/activation.ts +6 -0
  329. package/packages/sound-studio/src/index.ts +74 -0
  330. package/packages/speech/README.md +2 -2
  331. package/packages/speech-alignment/src/local.ts +8 -0
  332. package/packages/speech-alignment/src/locate.ts +1 -1
  333. package/packages/store-sqlite/README.md +7 -0
  334. package/packages/store-sqlite/src/store.ts +84 -83
  335. package/packages/studio/INSPECTOR.md +15 -2
  336. package/packages/studio/LOCALIZATION.md +98 -0
  337. package/packages/studio/README.md +101 -14
  338. package/packages/studio/locales/en.json +197 -0
  339. package/packages/studio/locales/zh-CN.json +191 -0
  340. package/packages/studio/package.json +8 -7
  341. package/packages/studio/src/companion-assembly.ts +1 -0
  342. package/packages/studio/src/domain.ts +1 -1
  343. package/packages/studio/src/fallback-companions.ts +3 -3
  344. package/packages/studio/src/feedback-server.ts +51 -0
  345. package/packages/studio/src/feedback-store.ts +66 -0
  346. package/packages/studio/src/feedback.ts +60 -0
  347. package/packages/studio/src/localization-node.ts +46 -0
  348. package/packages/studio/src/localization.ts +85 -0
  349. package/packages/studio/src/parameter-values.ts +43 -1
  350. package/packages/studio/src/parameters.ts +114 -24
  351. package/packages/studio/src/preview/render.ts +5 -1
  352. package/packages/studio/src/preview/runtime-shim.ts +49 -3
  353. package/packages/studio/src/programme.ts +14 -30
  354. package/packages/studio/src/server.ts +10 -6
  355. package/packages/studio/src/shared.ts +4 -2
  356. package/packages/studio/src/snapshot.ts +21 -132
  357. package/packages/studio/src/studio-preflight.ts +3 -3
  358. package/packages/studio/src/studio-registry.ts +50 -6
  359. package/packages/studio/src/style.css +223 -50
  360. package/packages/studio/src/ui/artifact-name.ts +8 -6
  361. package/packages/studio/src/ui/artifact-preview.ts +5 -4
  362. package/packages/studio/src/ui/code.ts +17 -16
  363. package/packages/studio/src/ui/comments.ts +234 -0
  364. package/packages/studio/src/ui/dropdown.ts +68 -0
  365. package/packages/studio/src/ui/i18n.ts +109 -0
  366. package/packages/studio/src/ui/icons.ts +6 -0
  367. package/packages/studio/src/ui/library.ts +76 -65
  368. package/packages/studio/src/ui/main.ts +223 -211
  369. package/packages/studio/src/ui/overlay.ts +12 -8
  370. package/packages/studio/src/ui/scrub-preview.ts +110 -0
  371. package/packages/studio/src/ui/stage.ts +93 -29
  372. package/packages/studio/src/ui/timeline.ts +190 -118
  373. package/packages/studio/start.ts +41 -22
  374. package/packages/studio-adapter/README.md +130 -11
  375. package/packages/studio-adapter/src/index.ts +100 -13
  376. package/packages/temporal/README.md +6 -6
  377. package/packages/temporal/package.json +1 -1
  378. package/packages/temporal/src/component.ts +5 -6
  379. package/packages/temporal/src/index.ts +8 -6
  380. package/packages/temporal/src/location.ts +11 -11
  381. package/packages/temporal/src/projection.ts +19 -19
  382. package/packages/temporal/src/rational.ts +4 -4
  383. package/packages/temporal-markup/EDITING.md +2 -2
  384. package/packages/temporal-markup/README.md +27 -11
  385. package/packages/temporal-markup/package.json +1 -1
  386. package/packages/temporal-markup/src/index.ts +20 -25
  387. package/packages/temporal-markup/src/space.ts +10 -41
  388. package/packages/timeline/README.md +31 -0
  389. package/packages/{semantic-track → timeline}/package.json +1 -1
  390. package/packages/timeline/src/activation.ts +8 -0
  391. package/packages/timeline/src/component.ts +24 -0
  392. package/packages/timeline/src/identity.ts +60 -0
  393. package/packages/timeline/src/index.ts +6 -0
  394. package/packages/{semantic-track → timeline}/src/location.ts +20 -20
  395. package/packages/timeline/src/manifest.ts +39 -0
  396. package/packages/{semantic-track → timeline}/src/projection.ts +14 -14
  397. package/packages/timeline/src/types.ts +24 -0
  398. package/packages/timeline-author/README.md +68 -0
  399. package/packages/{speech-track → timeline-author}/package.json +6 -4
  400. package/packages/timeline-author/src/activation.ts +22 -0
  401. package/packages/{speech-track → timeline-author}/src/component.ts +15 -13
  402. package/packages/{speech-track → timeline-author}/src/fragment.ts +14 -23
  403. package/packages/timeline-author/src/index.ts +7 -0
  404. package/packages/timeline-author/src/manifest.ts +78 -0
  405. package/packages/timeline-author/src/program.ts +107 -0
  406. package/packages/timeline-author/src/surface.ts +46 -0
  407. package/packages/timeline-author/src/types.ts +6 -0
  408. package/packages/typography-track/README.md +4 -4
  409. package/packages/typography-track/package.json +1 -1
  410. package/packages/typography-track/src/component.ts +4 -4
  411. package/packages/typography-track/src/fragment.ts +4 -3
  412. package/packages/typography-track/src/manifest.ts +11 -9
  413. package/packages/typography-track/src/program.ts +15 -15
  414. package/packages/typography-track/src/surface.ts +17 -18
  415. package/packages/video-cli/README.md +4 -1
  416. package/packages/video-cli/package.json +2 -1
  417. package/packages/video-cli/src/creation.ts +14 -4
  418. package/packages/video-cli/src/index.ts +1 -1
  419. package/packages/video-cli/src/studio-distribution.ts +2 -1
  420. package/packages/volcengine-matting/README.md +3 -3
  421. package/packages/whisperx/README.md +1 -1
  422. package/services/whisperx/README.md +14 -0
  423. package/services/whisperx/pyproject.toml +2 -0
  424. package/services/whisperx/uv.lock +20 -20
  425. package/packages/provider-hyperframes-aws-lambda/README.md +0 -30
  426. package/packages/provider-hyperframes-aws-lambda/package.json +0 -30
  427. package/packages/provider-hyperframes-aws-lambda/src/activation.ts +0 -97
  428. package/packages/provider-hyperframes-aws-lambda/src/client.ts +0 -114
  429. package/packages/provider-hyperframes-aws-lambda/src/index.ts +0 -21
  430. package/packages/provider-hyperframes-aws-lambda/src/provider.ts +0 -522
  431. package/packages/provider-kie/README.md +0 -134
  432. package/packages/provider-kie/package.json +0 -43
  433. package/packages/provider-kie/src/activation.ts +0 -71
  434. package/packages/provider-kie/src/index.ts +0 -10
  435. package/packages/provider-kie/src/mapping.ts +0 -182
  436. package/packages/provider-kie/src/provider.ts +0 -657
  437. package/packages/provider-kie/src/routes.ts +0 -150
  438. package/packages/provider-xiaomi-mimo/README.md +0 -32
  439. package/packages/provider-xiaomi-mimo/src/activation.ts +0 -57
  440. package/packages/provider-xiaomi-mimo/src/index.ts +0 -5
  441. package/packages/provider-xiaomi-mimo/src/provider.ts +0 -214
  442. package/packages/runtime/src/environment.ts +0 -6
  443. package/packages/semantic-track/README.md +0 -21
  444. package/packages/semantic-track/src/activation.ts +0 -8
  445. package/packages/semantic-track/src/component.ts +0 -24
  446. package/packages/semantic-track/src/identity.ts +0 -58
  447. package/packages/semantic-track/src/index.ts +0 -6
  448. package/packages/semantic-track/src/manifest.ts +0 -38
  449. package/packages/semantic-track/src/types.ts +0 -26
  450. package/packages/speech-track/README.md +0 -51
  451. package/packages/speech-track/src/activation.ts +0 -19
  452. package/packages/speech-track/src/index.ts +0 -7
  453. package/packages/speech-track/src/manifest.ts +0 -73
  454. package/packages/speech-track/src/program.ts +0 -64
  455. package/packages/speech-track/src/surface.ts +0 -35
  456. package/packages/speech-track/src/types.ts +0 -6
  457. package/packages/speech-track-studio/README.md +0 -3
  458. package/packages/speech-track-studio/package.json +0 -14
  459. package/packages/speech-track-studio/src/activation.ts +0 -7
  460. package/packages/speech-track-studio/src/index.ts +0 -40
  461. /package/packages/{cli → project-context-node}/src/project-context.ts +0 -0
  462. /package/packages/{speech-track → timeline-author}/preview/Track.png +0 -0
@@ -289,6 +289,45 @@ type NarrativeMoment = {
289
289
  /** The exact semantic anchor chosen by the author Surface's affinity syntax. */
290
290
  readonly anchorId: string;
291
291
  };
292
+ /** One author-visible word surface. Punctuation owned by the surface is preserved. */
293
+ type CaptionDisplayWord = {
294
+ readonly id: string;
295
+ readonly unitId: string;
296
+ readonly segmentId: string;
297
+ readonly turnId: string;
298
+ readonly role?: string;
299
+ readonly text: string;
300
+ /** Reserved for Script-native word attributes; empty until an inline Mark is authored. */
301
+ readonly attributes: readonly CaptionWordAttribute[];
302
+ };
303
+ type CaptionWordAttributeValue = string | number | boolean;
304
+ type CaptionWordAttribute = {
305
+ readonly name: string;
306
+ readonly value: CaptionWordAttributeValue;
307
+ };
308
+ /** The smallest author-declared N:M display-to-speech correspondence unit. */
309
+ type CaptionAlignmentUnit = {
310
+ readonly id: string;
311
+ readonly segmentId: string;
312
+ readonly turnId: string;
313
+ readonly role?: string;
314
+ readonly wordIds: readonly string[];
315
+ /** Speech tokens are retained here so Caption can project a Narrative Selection without frames. */
316
+ readonly sourceTokenIds: readonly string[];
317
+ };
318
+ type CaptionCueBreak = {
319
+ /** The Cue boundary is after this complete Alignment Unit. */
320
+ readonly afterUnitId: string;
321
+ };
322
+ /** Complete Script-owned Caption truth. It contains no frame or measured timing facts. */
323
+ type CaptionDocument = {
324
+ /** Author-visible `<script id>` that owns this caption projection. */
325
+ readonly narrativeId: string;
326
+ readonly id: string;
327
+ readonly units: readonly CaptionAlignmentUnit[];
328
+ readonly words: readonly CaptionDisplayWord[];
329
+ readonly cueBreaks: readonly CaptionCueBreak[];
330
+ };
292
331
  type SemanticAnchor = {
293
332
  readonly id: "program:start";
294
333
  readonly kind: "program-start";
@@ -305,12 +344,14 @@ type SemanticAnchor = {
305
344
  readonly segmentId: string;
306
345
  readonly tokenId?: string;
307
346
  };
347
+ /** Complete authored content; local views are projections of this value. */
308
348
  type Narrative = {
309
349
  /** Author-visible `<script id>`; every exported semantic view retains it. */
310
350
  readonly id: string;
311
351
  readonly segments: readonly NarrativeSegment[];
312
352
  readonly tokens: readonly NarrativeToken[];
313
353
  readonly turns: readonly NarrativeTurn[];
354
+ readonly caption: CaptionDocument;
314
355
  readonly selections: readonly NarrativeSelection[];
315
356
  readonly moments: readonly NarrativeMoment[];
316
357
  readonly semanticIndex: {
@@ -72,11 +72,11 @@ type Range = {
72
72
  type StudioTrackFamily = string;
73
73
  type StudioIcon = "brand" | "captions" | "component" | "layers" | "ranking" | "text" | "timeline" | "video" | "waveform";
74
74
  /** Studio-owned visual palette. Domain families never become CSS selectors. */
75
- type StudioTimelineTone = "blue" | "green" | "teal" | "violet" | "magenta" | "orange" | "orange-muted" | "neutral";
75
+ type StudioTimelineTone = "blue" | "blue-muted" | "green" | "green-muted" | "teal" | "violet" | "magenta" | "magenta-muted" | "orange" | "orange-muted" | "neutral";
76
76
  type StudioTimelinePresentation = {
77
77
  readonly entity: string;
78
- /** Studio-owned shell. It never decides whether title, time or body exists. */
79
- readonly chrome: "standard" | "group" | "point";
78
+ /** Studio-owned shell. Compact presents the primary label in one line, with time in details. */
79
+ readonly chrome: "standard" | "group" | "point" | "compact";
80
80
  };
81
81
  type StudioTemporalSource = {
82
82
  readonly spaceId: string;
@@ -181,6 +181,11 @@ type StudioNumberPresentation = {
181
181
  readonly maximum?: number;
182
182
  readonly step?: number;
183
183
  };
184
+ /** Attribute ranges are relative to the owning element's source preimage. */
185
+ type StudioAttributeGroupEdit = {
186
+ readonly insertionOffset: number;
187
+ readonly ranges: Readonly<Record<string, Range | null>>;
188
+ };
184
189
  /** A real author endpoint. Its existence never implies Inspector visibility. */
185
190
  type StudioSourceBinding = {
186
191
  readonly id: string;
@@ -203,9 +208,10 @@ type StudioSourceBinding = {
203
208
  readonly prefix?: string;
204
209
  readonly suffix?: string;
205
210
  };
211
+ readonly attributes?: StudioAttributeGroupEdit;
206
212
  readonly disabledReason?: string;
207
213
  };
208
- type StudioInspectorDomain = "where" | "how" | "when";
214
+ type StudioInspectorDomain = "where" | "when" | "how";
209
215
  type StudioInspectorPageDeclaration = {
210
216
  readonly id: string;
211
217
  readonly label: string;
@@ -214,7 +220,7 @@ type StudioInspectorSectionDeclaration = {
214
220
  readonly id: string;
215
221
  readonly label: string;
216
222
  };
217
- /** One visible, writable field selected from a Companion's source bindings. */
223
+ /** One visible field selected from a Companion's source bindings. */
218
224
  type StudioInspectorFieldDeclaration = {
219
225
  readonly binding: string;
220
226
  readonly label: string;
@@ -232,20 +238,35 @@ type StudioInspectorFieldDeclaration = {
232
238
  /** Optional suggested colors, independent of the accepted color value. */
233
239
  readonly swatches?: readonly string[];
234
240
  };
235
- /** Resolved Inspector DTO. Studio renders it and executes its exact source write. */
236
- type StudioInspectorField = Omit<StudioInspectorFieldDeclaration, "control"> & {
241
+ /** A selected entity's package-owned fact, with no author write endpoint. */
242
+ type StudioInspectorValue = Pick<StudioInspectorFieldDeclaration, "label" | "domain" | "page" | "section" | "summary" | "unit"> & {
243
+ readonly id: string;
244
+ readonly value: CanonicalValue;
245
+ };
246
+ /** Display and edit authority are independent of the Where / When / How grouping. */
247
+ type StudioInspectorField = Omit<StudioInspectorFieldDeclaration, "binding" | "control"> & {
248
+ readonly binding?: string;
237
249
  readonly id: string;
238
250
  readonly control: StudioParameterControl;
239
251
  readonly value: CanonicalValue;
240
252
  readonly schema?: ValueSchema;
241
- readonly language: StudioParameterLanguage;
242
- readonly source: StudioSourceBinding["source"];
253
+ readonly edit?: {
254
+ readonly language: StudioParameterLanguage;
255
+ readonly source: StudioSourceBinding["source"];
256
+ readonly attributes?: StudioAttributeGroupEdit;
257
+ };
243
258
  };
244
259
  /** Companion-owned source allowlist. It contains no editor presentation. */
245
260
  type StudioSourceBindingDeclaration = {
246
261
  readonly name: string;
247
262
  readonly writable?: boolean;
248
263
  readonly schema?: ValueSchema;
264
+ /** Typed value used when this editable attribute is omitted. */
265
+ readonly fallback?: CanonicalValue | ((authored: Readonly<Record<string, CanonicalValue>>) => CanonicalValue | undefined);
266
+ /** Compose the referenced object's package-owned parameter Companion. */
267
+ readonly companion?: boolean;
268
+ /** Edit these scalar attributes together as one schema-described record. */
269
+ readonly attributes?: readonly string[];
249
270
  /** Optional declaration for the authored element named by a reference. */
250
271
  readonly referenced?: readonly StudioSourceBindingDeclaration[];
251
272
  /**
@@ -267,7 +288,7 @@ type StudioRecipeBindingDeclaration = {
267
288
  /** Domain-owned public Recipe value structure, never editor presentation. */
268
289
  readonly schema?: ValueSchema;
269
290
  /** Typed public fallback; Studio writes the property only after the author changes it. */
270
- readonly fallback?: CanonicalValue;
291
+ readonly fallback?: CanonicalValue | ((authored: Readonly<Record<string, CanonicalValue>>) => CanonicalValue | undefined);
271
292
  };
272
293
  type StudioTimelineGesture = "move" | "trim-start" | "trim-end";
273
294
  type StudioEditCoordinate = "program-frame" | "semantic-anchor" | "source-frame" | "canvas-pixel" | "normalized-progress";
@@ -334,7 +355,7 @@ type StudioDisplayLayer = {
334
355
  readonly layout: "repeat-x" | "cover" | "contain" | "storyboard" | "waveform";
335
356
  };
336
357
  type StudioEntityDisplay = {
337
- /** First row. Studio always places computed time immediately after it. */
358
+ /** Primary label: a header in standard chrome, the complete single-line content in compact chrome. */
338
359
  readonly title: string;
339
360
  /** Ordered back-to-front body layers. */
340
361
  readonly layers: readonly StudioDisplayLayer[];
@@ -496,7 +517,7 @@ type StudioResolvedTrack = {
496
517
  readonly surfacePreview?: StudioMaterialPreview;
497
518
  readonly value: unknown;
498
519
  };
499
- type StudioViewRole = "semantic-track" | "supporting-value" | "track";
520
+ type StudioViewRole = "timeline" | "supporting-value" | "track";
500
521
  type StudioSpan = {
501
522
  readonly id: string;
502
523
  /** Exact public terminal provenance; never inferred from id syntax. */
@@ -520,10 +541,16 @@ type StudioEntityDraft = {
520
541
  readonly renderIds?: readonly string[];
521
542
  /** Resolved author references that differ per derived entity, such as one Cue's actual Style. */
522
543
  readonly parameterReferences?: Readonly<Record<string, string>>;
544
+ /** Disjoint displayed intervals belonging to one selectable author entity. */
545
+ readonly selectionGroup?: string;
546
+ /** Deliberately selected facts, presented beside bound Inspector fields. */
547
+ readonly inspector?: readonly StudioInspectorValue[];
523
548
  readonly presentation?: StudioTimelinePresentation;
524
549
  readonly temporal?: StudioTemporalLineage;
525
- /** Studio-local lane partition; omitted means the root lane. */
550
+ /** Independent child Track partition; omitted means this Track. */
526
551
  readonly lane?: string;
552
+ /** Internal band of this Track; mutually exclusive with lane. */
553
+ readonly band?: string;
527
554
  };
528
555
  type StudioTrackCompanionContext = {
529
556
  readonly track: StudioResolvedTrack;
@@ -556,6 +583,8 @@ type StudioTrackCompanion = {
556
583
  readonly source: "surface-preview";
557
584
  };
558
585
  readonly attachments?: readonly StudioLaneAttachment[];
586
+ /** Internal bands share this Track’s label and contain independently timed entities. */
587
+ readonly bands?: readonly StudioTrackBand[];
559
588
  /** Same-Surface output values required to project this Track for Studio. */
560
589
  readonly requiredValues?: readonly string[];
561
590
  readonly lane?: StudioLaneDescription;
@@ -565,11 +594,22 @@ type StudioTrackCompanion = {
565
594
  readonly inspector?: readonly StudioInspectorFieldDeclaration[];
566
595
  readonly project?: (context: StudioTrackCompanionContext) => readonly StudioEntityDraft[];
567
596
  };
597
+ /** Parameters owned by an authored object, independently of its consumers. */
598
+ type StudioParameterCompanion = {
599
+ readonly id: string;
600
+ readonly match: {
601
+ readonly module: ModuleRef;
602
+ readonly surface: string;
603
+ };
604
+ readonly bindings: readonly StudioSourceBindingDeclaration[];
605
+ readonly inspector: readonly StudioInspectorFieldDeclaration[];
606
+ };
568
607
  type StudioCompanionContribution = {
569
608
  readonly format: "hypit.studio-companions@1";
570
609
  readonly tracks: readonly StudioTrackCompanion[];
571
610
  readonly films?: readonly StudioFilmCompanion[];
572
611
  readonly scripts?: readonly StudioScriptCompanion[];
612
+ readonly parameters?: readonly StudioParameterCompanion[];
573
613
  };
574
614
  /** Declarative Film boundary. Studio follows only the references named here. */
575
615
  type StudioFilmCompanion = {
@@ -626,6 +666,12 @@ type StudioScriptAdjustment = {
626
666
  readonly id: string;
627
667
  readonly anchorId: string;
628
668
  };
669
+ type StudioScriptProjection = Pick<StudioSemanticTimeline, "anchors" | "segments" | "tokens" | "selections" | "moments">;
670
+ type StudioScriptProjectionInput = {
671
+ readonly source: StudioScriptSourceMap;
672
+ readonly values: readonly StudioObservedValue[];
673
+ readonly anchors: ReadonlyMap<string, number>;
674
+ };
629
675
  /** Script grammar companion. It owns source observation and semantic inverse edits. */
630
676
  type StudioScriptCompanion = {
631
677
  readonly id: string;
@@ -643,6 +689,7 @@ type StudioScriptCompanion = {
643
689
  readonly nextOffset?: number;
644
690
  readonly attributes: Readonly<Record<string, unknown>>;
645
691
  }) => Omit<StudioScriptSourceMap, "companion"> | undefined;
692
+ readonly project?: (input: StudioScriptProjectionInput) => StudioScriptProjection;
646
693
  readonly adjust: (input: {
647
694
  readonly sourceName: string;
648
695
  readonly source: string;
@@ -658,11 +705,13 @@ declare function createStudioCompanionHostFacet(input: {
658
705
  readonly tracks?: readonly StudioTrackCompanion[];
659
706
  readonly films?: readonly StudioFilmCompanion[];
660
707
  readonly scripts?: readonly StudioScriptCompanion[];
708
+ readonly parameters?: readonly StudioParameterCompanion[];
661
709
  }): StudioCompanionHostFacet;
662
710
  type StudioPackageContribution = {
663
711
  readonly tracks: readonly StudioTrackCompanion[];
664
712
  readonly films: readonly StudioFilmCompanion[];
665
713
  readonly scripts: readonly StudioScriptCompanion[];
714
+ readonly parameters: readonly StudioParameterCompanion[];
666
715
  };
667
716
  declare function studioContributionFromPackage(owner: string, facets: readonly HostFacet[]): StudioPackageContribution;
668
717
  /**
@@ -670,6 +719,17 @@ declare function studioContributionFromPackage(owner: string, facets: readonly H
670
719
  * The executable facet cannot choose or impersonate its physical owner.
671
720
  */
672
721
  declare function studioTrackCompanionsFromPackage(owner: string, facets: readonly HostFacet[]): readonly StudioTrackCompanion[];
722
+ /** A contiguous internal strip, not a child Track. Declaration order is visual order. */
723
+ type StudioTrackBand = {
724
+ readonly id: string;
725
+ readonly placement: "before" | "after";
726
+ readonly heightPx: number;
727
+ /** Label bands use the whole strip for each entity's title; content bands retain its chrome. */
728
+ readonly display: "label" | "content";
729
+ readonly tone?: StudioTimelineTone;
730
+ readonly bindings?: readonly StudioSourceBindingDeclaration[];
731
+ readonly inspector?: readonly StudioInspectorFieldDeclaration[];
732
+ };
673
733
  type StudioLaneAttachment = {
674
734
  readonly id: string;
675
735
  readonly family: StudioTrackFamily;
@@ -699,6 +759,8 @@ declare function authoredChildFor(context: StudioTrackCompanionContext, authored
699
759
  declare function temporalLineageFor(context: StudioTrackCompanionContext, subjectId: string, input?: string): StudioTemporalLineage | undefined;
700
760
  /** Unique semantic author identity carried by one projection, when there is one. */
701
761
  declare function temporalSemanticSource(lineage: StudioTemporalLineage | undefined): StudioTemporalSource | undefined;
762
+ /** A package chooses which source references can name an otherwise unnamed Item. */
763
+ declare function authoredItemTitle(context: StudioTrackCompanionContext, authoredId: string, sourceTypes: readonly TypeRef[], sourceAttributes: readonly string[]): string;
702
764
  declare function childEntities(context: StudioTrackCompanionContext, items: readonly {
703
765
  /** Exact identity of the projected domain item consumed by Temporal/renderer bindings. */
704
766
  readonly id: string;
@@ -711,5 +773,5 @@ declare function childEntities(context: StudioTrackCompanionContext, items: read
711
773
  readonly sourceTypes?: readonly TypeRef[];
712
774
  }[], entity: StudioTimelinePresentation["entity"], chrome: StudioTimelinePresentation["chrome"]): readonly StudioEntityDraft[];
713
775
 
714
- export { artifactPreview, authoredChildFor, childEntities, createStudioCompanionHostFacet, createStudioTrackCompanionHostFacet, previewLayer, requiredReferencedValue, requiredSurfaceValue, sameSurfaceValue, studioCompanionHostAbi, studioContributionFromPackage, studioParameterControls, studioTrackCompanionsFromPackage, temporalBindingsFor, temporalLineageFor, temporalSemanticSource, textLayer };
715
- export type { Range, StudioCandidateProvenance, StudioCompanionContribution, StudioCompanionHostFacet, StudioDisplayLayer, StudioEditCoordinate, StudioEditHandle, StudioEditSource, StudioEditSourceRole, StudioEntityDisplay, StudioEntityDraft, StudioFilmCompanion, StudioIcon, StudioInspectorDomain, StudioInspectorField, StudioInspectorFieldDeclaration, StudioInspectorPageDeclaration, StudioInspectorSectionDeclaration, StudioLaneAttachment, StudioLaneDescription, StudioMaterialPreview, StudioNumberPresentation, StudioObservedValue, StudioPackageContribution, StudioParameterControl, StudioParameterLanguage, StudioParameterOption, StudioPlacement, StudioPlacementChild, StudioPreviewSource, StudioRecipeBindingDeclaration, StudioRecipeReferenceBindingDeclaration, StudioResolvedTrack, StudioScriptAdjustment, StudioScriptCompanion, StudioScriptSourceMap, StudioSemanticAnchor, StudioSemanticEditTarget, StudioSemanticSegment, StudioSemanticTimeline, StudioSemanticToken, StudioSnapTarget, StudioSourceBinding, StudioSourceBindingDeclaration, StudioSpan, StudioTemporalAuthority, StudioTemporalBinding, StudioTemporalConsumer, StudioTemporalConsumerInput, StudioTemporalInstantProjection, StudioTemporalLineage, StudioTemporalPhase, StudioTemporalProjection, StudioTemporalSource, StudioTemporalWindowProjection, StudioTimelineGesture, StudioTimelinePresentation, StudioTimelineTone, StudioTrackCompanion, StudioTrackCompanionContext, StudioTrackFamily, StudioTrackTrace, StudioViewRole };
776
+ export { artifactPreview, authoredChildFor, authoredItemTitle, childEntities, createStudioCompanionHostFacet, createStudioTrackCompanionHostFacet, previewLayer, requiredReferencedValue, requiredSurfaceValue, sameSurfaceValue, studioCompanionHostAbi, studioContributionFromPackage, studioParameterControls, studioTrackCompanionsFromPackage, temporalBindingsFor, temporalLineageFor, temporalSemanticSource, textLayer };
777
+ export type { Range, StudioAttributeGroupEdit, StudioCandidateProvenance, StudioCompanionContribution, StudioCompanionHostFacet, StudioDisplayLayer, StudioEditCoordinate, StudioEditHandle, StudioEditSource, StudioEditSourceRole, StudioEntityDisplay, StudioEntityDraft, StudioFilmCompanion, StudioIcon, StudioInspectorDomain, StudioInspectorField, StudioInspectorFieldDeclaration, StudioInspectorPageDeclaration, StudioInspectorSectionDeclaration, StudioInspectorValue, StudioLaneAttachment, StudioLaneDescription, StudioMaterialPreview, StudioNumberPresentation, StudioObservedValue, StudioPackageContribution, StudioParameterCompanion, StudioParameterControl, StudioParameterLanguage, StudioParameterOption, StudioPlacement, StudioPlacementChild, StudioPreviewSource, StudioRecipeBindingDeclaration, StudioRecipeReferenceBindingDeclaration, StudioResolvedTrack, StudioScriptAdjustment, StudioScriptCompanion, StudioScriptProjection, StudioScriptProjectionInput, StudioScriptSourceMap, StudioSemanticAnchor, StudioSemanticEditTarget, StudioSemanticSegment, StudioSemanticTimeline, StudioSemanticToken, StudioSnapTarget, StudioSourceBinding, StudioSourceBindingDeclaration, StudioSpan, StudioTemporalAuthority, StudioTemporalBinding, StudioTemporalConsumer, StudioTemporalConsumerInput, StudioTemporalInstantProjection, StudioTemporalLineage, StudioTemporalPhase, StudioTemporalProjection, StudioTemporalSource, StudioTemporalWindowProjection, StudioTimelineGesture, StudioTimelinePresentation, StudioTimelineTone, StudioTrackBand, StudioTrackCompanion, StudioTrackCompanionContext, StudioTrackFamily, StudioTrackTrace, StudioViewRole };
@@ -203,59 +203,26 @@ type SurfaceAttributeVocabulary = {
203
203
  };
204
204
 
205
205
  type TemporalContext = {
206
- readonly semantic?: SurfaceResolvedReference;
207
- readonly space?: SurfaceResolvedReference;
206
+ readonly timeline: SurfaceResolvedReference;
208
207
  };
209
208
  declare const temporalContextAttributeVocabulary: readonly [{
210
- readonly name: "semantic";
209
+ readonly name: "timeline";
211
210
  readonly kind: "reference";
212
- readonly required: false;
211
+ readonly required: true;
213
212
  readonly accepts: readonly [{
214
213
  module: {
215
- readonly name: "@hypit/semantic-track";
214
+ readonly name: "@hypit/timeline";
216
215
  readonly version: "1";
217
216
  };
218
217
  name: string;
219
218
  }];
220
- readonly summary: "Uses the performance's time axis and resolves Script Selections and Moments.";
221
- }, {
222
- readonly name: "space";
223
- readonly kind: "reference";
224
- readonly required: false;
225
- readonly accepts: readonly [{
226
- module: {
227
- readonly name: "@hypit/program-space";
228
- readonly version: "1";
229
- };
230
- name: string;
231
- }];
232
- readonly summary: "Uses a declared film time axis for authored animation. Supply semantic or space.";
219
+ readonly summary: "The complete film Timeline, with any placed material and semantic anchors.";
233
220
  }];
234
- /** Select the author's film time source. */
221
+ /** One author-facing Timeline; projections share its range and evidence. */
235
222
  declare function resolveTemporalContext(input: {
236
223
  readonly element: StructuredElement;
237
224
  readonly resolveReference: (path: string) => SurfaceResolvedReference | undefined;
238
225
  }): TemporalContext;
239
- /** Give consumers a ProgramSpace while preserving semantic context for word-bound projections. */
240
- declare function createTemporalSpace(input: TemporalContext & {
241
- readonly id: string;
242
- readonly element: StructuredElement;
243
- }): {
244
- records: never[];
245
- components: {
246
- id: string;
247
- fragment: string;
248
- inputs: {
249
- semantic: AuthorValueRef;
250
- };
251
- outputs: {
252
- space: string;
253
- };
254
- range: SourceRange;
255
- }[];
256
- fragments: GraphFragment[];
257
- space: SurfaceResolvedReference;
258
- };
259
226
 
260
227
  /** Exact author duration. Decimal source spelling is reduced before reaching this value. */
261
228
  type TemporalDuration = {
@@ -321,8 +288,7 @@ declare function createTemporalWindowProjection(input: {
321
288
  readonly id: string;
322
289
  readonly subjectId?: string;
323
290
  readonly element: StructuredElement;
324
- readonly semantic?: SurfaceResolvedReference;
325
- readonly space?: SurfaceResolvedReference;
291
+ readonly timeline: SurfaceResolvedReference;
326
292
  readonly resolveReference: ResolveReference;
327
293
  }): TemporalMarkupProjection;
328
294
  /** Decode a semantic reference, an authored at time, or a projected instant expression. */
@@ -330,8 +296,7 @@ declare function createTemporalInstantProjection(input: {
330
296
  readonly id: string;
331
297
  readonly subjectId?: string;
332
298
  readonly element: StructuredElement;
333
- readonly semantic?: SurfaceResolvedReference;
334
- readonly space?: SurfaceResolvedReference;
299
+ readonly timeline: SurfaceResolvedReference;
335
300
  readonly resolveReference: ResolveReference;
336
301
  readonly semanticAttribute?: string;
337
302
  readonly boundaryAttribute?: string;
@@ -339,5 +304,5 @@ declare function createTemporalInstantProjection(input: {
339
304
  readonly projectedAttribute?: string | false;
340
305
  }): TemporalMarkupProjection;
341
306
 
342
- export { createTemporalInstantProjection, createTemporalSpace, createTemporalWindowProjection, parseTemporalDuration, parseTemporalInstant, resolveTemporalContext, temporalContextAttributeVocabulary, temporalInstantAttributeNames, temporalInstantAttributeVocabulary, temporalWindowAttributeNames, temporalWindowAttributeVocabulary };
307
+ export { createTemporalInstantProjection, createTemporalWindowProjection, parseTemporalDuration, parseTemporalInstant, resolveTemporalContext, temporalContextAttributeVocabulary, temporalInstantAttributeNames, temporalInstantAttributeVocabulary, temporalWindowAttributeNames, temporalWindowAttributeVocabulary };
343
308
  export type { TemporalContext, TemporalMarkupProjection };
@@ -139,6 +139,22 @@ type NarrativeExcerpt = {
139
139
  readonly tokenEndExclusive: number;
140
140
  };
141
141
 
142
+ type ProgramClock = {
143
+ readonly frameRate: {
144
+ readonly numerator: number;
145
+ readonly denominator: number;
146
+ };
147
+ };
148
+ type ProgramSpace = {
149
+ /** Author-visible identity of this film time axis. */
150
+ readonly id: string;
151
+ readonly durationSec: number;
152
+ readonly frameRate: {
153
+ readonly numerator: number;
154
+ readonly denominator: number;
155
+ };
156
+ };
157
+
142
158
  type MediaRational = {
143
159
  readonly numerator: number;
144
160
  readonly denominator: number;
@@ -191,27 +207,14 @@ type SemanticTake = {
191
207
  }[];
192
208
  };
193
209
 
194
- type SemanticTrackItem = {
210
+ type TimelineItem = {
195
211
  readonly take: SemanticTake;
212
+ readonly startFrame: number;
196
213
  };
197
- /**
198
- * The continuous program skeleton. Every item is a real SemanticTake and the
199
- * global frame domain is exactly their prefix sum: no gap or empty item exists.
200
- */
201
- type SemanticTrack = {
202
- readonly id: string;
203
- readonly narrativeId: string;
204
- readonly items: readonly SemanticTrackItem[];
205
- };
206
-
207
- type ProgramSpace = {
208
- /** Author-visible identity of this film time axis. */
209
- readonly id: string;
210
- readonly durationSec: number;
211
- readonly frameRate: {
212
- readonly numerator: number;
213
- readonly denominator: number;
214
- };
214
+ /** One complete film time range, with prepared material placed where it belongs. */
215
+ type Timeline = ProgramSpace & {
216
+ readonly narrativeId?: string;
217
+ readonly items: readonly TimelineItem[];
215
218
  };
216
219
 
217
220
  type FramePoint = {
@@ -347,10 +350,10 @@ type TriggeredSchedule = {
347
350
  readonly exclusive: readonly FrameSpan[];
348
351
  };
349
352
 
350
- declare function locateSelection(semantic: SemanticTrack, selection: NarrativeSelectionRef): LocatedSelection;
351
- declare function locateMoment(semantic: SemanticTrack, moment: NarrativeMomentRef): LocatedMoment;
352
- declare function locateProgram(semantic: SemanticTrack): LocatedProgram;
353
- declare function locateSegment(semantic: SemanticTrack, segment: NarrativeExcerpt): LocatedSegment;
353
+ declare function locateSelection(semantic: Timeline, selection: NarrativeSelectionRef): LocatedSelection;
354
+ declare function locateMoment(semantic: Timeline, moment: NarrativeMomentRef): LocatedMoment;
355
+ declare function locateProgram(semantic: Timeline): LocatedProgram;
356
+ declare function locateSegment(semantic: Timeline, segment: NarrativeExcerpt): LocatedSegment;
354
357
 
355
358
  type TemporalConsumption = {
356
359
  readonly subjectId: string;
@@ -370,7 +373,7 @@ declare function projectTemporalInstant(projection: TemporalInstantExpression, e
370
373
  declare function projectSelectionInstant(input: {
371
374
  readonly itemId: string;
372
375
  readonly subjectId: string;
373
- readonly semantic: SemanticTrack;
376
+ readonly timeline: Timeline;
374
377
  readonly selection: NarrativeSelectionRef;
375
378
  readonly projection: TemporalInstantExpression;
376
379
  readonly authority: TemporalInstantSpec["authority"];
@@ -378,7 +381,7 @@ declare function projectSelectionInstant(input: {
378
381
  declare function projectMomentInstant(input: {
379
382
  readonly itemId: string;
380
383
  readonly subjectId: string;
381
- readonly semantic: SemanticTrack;
384
+ readonly timeline: Timeline;
382
385
  readonly moment: NarrativeMomentRef;
383
386
  readonly projection: TemporalInstantExpression;
384
387
  readonly authority: TemporalInstantSpec["authority"];
@@ -386,14 +389,14 @@ declare function projectMomentInstant(input: {
386
389
  declare function projectProgramInstant(input: {
387
390
  readonly itemId: string;
388
391
  readonly subjectId: string;
389
- readonly space: ProgramSpace;
392
+ readonly timeline: Timeline;
390
393
  readonly projection: TemporalInstantExpression;
391
394
  readonly authority: TemporalInstantSpec["authority"];
392
395
  }): ProjectedInstant;
393
396
  declare function projectSegmentInstant(input: {
394
397
  readonly itemId: string;
395
398
  readonly subjectId: string;
396
- readonly semantic: SemanticTrack;
399
+ readonly timeline: Timeline;
397
400
  readonly segment: NarrativeExcerpt;
398
401
  readonly projection: TemporalInstantExpression;
399
402
  readonly authority: TemporalInstantSpec["authority"];
@@ -410,6 +413,12 @@ declare function resolveTriggeredSchedule(input: {
410
413
  /** Quantize one non-negative authored duration into the canonical sample domain exactly once. */
411
414
  declare function temporalDurationInSamples(duration: TemporalDuration, space: ProgramSpace, sampleRate?: number): number;
412
415
 
416
+ type Rational = {
417
+ readonly numerator: bigint;
418
+ readonly denominator: bigint;
419
+ };
420
+ declare function durationInFrames(duration: TemporalDuration, space: ProgramClock): Rational;
421
+
413
422
  declare const temporalModuleRef: {
414
423
  readonly name: "@hypit/temporal";
415
424
  readonly version: "1";
@@ -493,5 +502,5 @@ declare const temporalInstantSchema: ValueSchema;
493
502
  declare const temporalWindowSpecSchema: ValueSchema;
494
503
  declare const temporalWindowSchema: ValueSchema;
495
504
 
496
- export { assertTemporalInstantFor, assertTemporalWindowFor, assertWindowRelation, composeTemporalWindow, locateMoment, locateProgram, locateSegment, locateSelection, projectMomentInstant, projectProgramInstant, projectSegmentInstant, projectSelectionInstant, projectTemporalInstant, resolveTriggeredSchedule, temporalDependency, temporalDurationInSamples, temporalInstantSchema, temporalInstantSpecSchema, temporalManifest, temporalModuleRef, temporalProducers, temporalTypes, temporalWindowSchema, temporalWindowSpecSchema };
505
+ export { assertTemporalInstantFor, assertTemporalWindowFor, assertWindowRelation, composeTemporalWindow, durationInFrames, locateMoment, locateProgram, locateSegment, locateSelection, projectMomentInstant, projectProgramInstant, projectSegmentInstant, projectSelectionInstant, projectTemporalInstant, resolveTriggeredSchedule, temporalDependency, temporalDurationInSamples, temporalInstantSchema, temporalInstantSpecSchema, temporalManifest, temporalModuleRef, temporalProducers, temporalTypes, temporalWindowSchema, temporalWindowSpecSchema };
497
506
  export type { FramePoint, FrameSpan, LocatedMoment, LocatedProgram, LocatedSegment, LocatedSelection, ProjectedInstant, ProjectedWindow, TemporalConsumption, TemporalDuration, TemporalInstant, TemporalInstantAuthority, TemporalInstantExpression, TemporalInstantSpec, TemporalSource, TemporalWindow, TemporalWindowSpec, TriggerPoint, TriggeredSchedule, WindowRelation };