@cueframe/kernel 0.2.57 → 0.2.59-rc.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 (370) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +111 -0
  2. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +3 -4
  3. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +3 -4
  4. package/dist/_members/account-model/validators/index.d.ts +0 -1
  5. package/dist/_members/animate/index.d.ts +0 -2
  6. package/dist/_members/authoring/index.d.ts +1 -1
  7. package/dist/_members/authoring/prompts/index.d.ts +0 -1
  8. package/dist/_members/authoring/resources.d.ts +2 -11
  9. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -1
  10. package/dist/_members/cloud-import/index.d.ts +0 -2
  11. package/dist/_members/component-runtime/allowedImports.d.ts +6 -0
  12. package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -1
  13. package/dist/_members/component-runtime/browserIdentity.d.ts +2 -12
  14. package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -1
  15. package/dist/_members/component-runtime/canonicalIdentity.d.ts +8 -1
  16. package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
  17. package/dist/_members/component-runtime/contracts.d.ts +2 -1
  18. package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
  19. package/dist/_members/component-runtime/identity.d.ts +2 -3
  20. package/dist/_members/component-runtime/identity.d.ts.map +1 -1
  21. package/dist/_members/component-runtime/importPolicy.d.ts +5 -0
  22. package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
  23. package/dist/_members/component-runtime/template/bind.d.ts +22 -0
  24. package/dist/_members/component-runtime/template/bind.d.ts.map +1 -0
  25. package/dist/_members/component-runtime/template/checks.d.ts +71 -0
  26. package/dist/_members/component-runtime/template/checks.d.ts.map +1 -0
  27. package/dist/_members/component-runtime/template/extract.d.ts +35 -0
  28. package/dist/_members/component-runtime/template/extract.d.ts.map +1 -0
  29. package/dist/_members/component-runtime/template/index.d.ts +6 -0
  30. package/dist/_members/component-runtime/template/index.d.ts.map +1 -0
  31. package/dist/_members/component-runtime/template/schema.d.ts +1581 -0
  32. package/dist/_members/component-runtime/template/schema.d.ts.map +1 -0
  33. package/dist/_members/component-runtime/template/testing/fixtures.d.ts +33 -0
  34. package/dist/_members/component-runtime/template/testing/fixtures.d.ts.map +1 -0
  35. package/dist/_members/component-runtime/template/testing/index.d.ts +3 -0
  36. package/dist/_members/component-runtime/template/testing/index.d.ts.map +1 -0
  37. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts +53 -0
  38. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts.map +1 -0
  39. package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts +15 -0
  40. package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts.map +1 -0
  41. package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -1
  42. package/dist/_members/compose/index.d.ts +1 -1
  43. package/dist/_members/compose/primitiveRegistry.d.ts +0 -2
  44. package/dist/_members/composition/audio/audioMix.d.ts +0 -1
  45. package/dist/_members/composition/audio/mixStaging.d.ts +0 -5
  46. package/dist/_members/composition/fixtures/index.d.ts +0 -1
  47. package/dist/_members/composition/graphics-plan/index.d.ts +0 -2
  48. package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
  49. package/dist/_members/composition/invariants/etag.d.ts +0 -1
  50. package/dist/_members/composition/invariants/index.d.ts +0 -1
  51. package/dist/_members/composition/ops/compositionOps.d.ts +0 -1
  52. package/dist/_members/composition/ops/compositionOps.shared.d.ts +6 -0
  53. package/dist/_members/composition/ops/index.d.ts +2 -1
  54. package/dist/_members/composition/primitive-catalog/index.d.ts +2 -3
  55. package/dist/_members/composition/primitive-catalog/types.d.ts +3 -1
  56. package/dist/_members/composition/projection/behind-readiness.d.ts +0 -6
  57. package/dist/_members/composition/timeline/link.d.ts +0 -4
  58. package/dist/_members/composition/timeline/plan.d.ts +0 -1
  59. package/dist/_members/composition/validators/brandKit.d.ts +11 -4
  60. package/dist/_members/composition/validators/brandKitBody.d.ts +543 -0
  61. package/dist/_members/composition/validators/cardHtml.d.ts +11 -0
  62. package/dist/_members/composition/validators/composition.d.ts +2 -5
  63. package/dist/_members/composition/validators/css-tree-subpaths.d.ts +16 -0
  64. package/dist/_members/composition/validators/index.d.ts +0 -3
  65. package/dist/_members/composition/validators/session.d.ts +3 -3
  66. package/dist/_members/composition/validators/webhook.d.ts +4 -4
  67. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -5
  68. package/dist/_members/composition-ops/index.d.ts +2 -2
  69. package/dist/_members/composition-ops/opRecorder.d.ts +23 -3
  70. package/dist/_members/core/render/exportSettings.d.ts +4 -2
  71. package/dist/_members/core/render/index.d.ts +1 -1
  72. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -1
  73. package/dist/_members/director/ai-sdk/index.d.ts +0 -1
  74. package/dist/_members/director/ai-sdk/messages.d.ts +0 -1
  75. package/dist/_members/director/domain/chat.d.ts +0 -78
  76. package/dist/_members/director/domain/index.d.ts +0 -1
  77. package/dist/_members/errors/registry.d.ts +42 -0
  78. package/dist/_members/foundation/canonical/index.d.ts +14 -0
  79. package/dist/_members/foundation/index.d.ts +1 -1
  80. package/dist/_members/foundation/primitives/index.d.ts +0 -2
  81. package/dist/_members/foundation/testing/index.d.ts +1 -0
  82. package/dist/_members/foundation/testing/knownRed.d.ts +13 -0
  83. package/dist/_members/mcp/adapter.d.ts +21 -0
  84. package/dist/_members/mcp/compositionOps.d.ts +10 -0
  85. package/dist/_members/mcp/server.d.ts +0 -2
  86. package/dist/_members/mcp/wait.d.ts +3 -1
  87. package/dist/_members/media-model/generation.d.ts +0 -25
  88. package/dist/_members/nle-export/xml-utils.d.ts +0 -8
  89. package/dist/_members/plane/conformance.d.ts +20 -0
  90. package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +1 -1
  91. package/dist/_members/primitives/effects/blur/config.d.ts +1 -1
  92. package/dist/_members/primitives/effects/color-grade/config.d.ts +2 -2
  93. package/dist/_members/primitives/effects/grain/config.d.ts +3 -3
  94. package/dist/_members/primitives/effects/particles/config.d.ts +2 -2
  95. package/dist/_members/primitives/effects/stage-camera/config.d.ts +6 -6
  96. package/dist/_members/primitives/effects/vignette/config.d.ts +1 -1
  97. package/dist/_members/primitives/index.d.ts +1 -11
  98. package/dist/_members/primitives/layouts/flex-layout/config.d.ts +3 -3
  99. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +2 -2
  100. package/dist/_members/primitives/lib/index.d.ts +1 -1
  101. package/dist/_members/primitives/lib/tokens.d.ts +0 -16
  102. package/dist/_members/primitives/lib/types.d.ts +1 -1
  103. package/dist/_members/primitives/scenes/device-showcase/config.d.ts +7 -7
  104. package/dist/_members/primitives/text/cinematic-title/config.d.ts +3 -3
  105. package/dist/_members/primitives/text/karaoke/config.d.ts +1 -1
  106. package/dist/_members/primitives/text/kinetic-type/config.d.ts +3 -3
  107. package/dist/_members/primitives/text/stat-counter/config.d.ts +1 -1
  108. package/dist/_members/primitives/text/text-effect/config.d.ts +2 -2
  109. package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +1 -1
  110. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +3 -3
  111. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +2 -2
  112. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +2 -2
  113. package/dist/_members/render-harness/cardAssetAdmission.d.ts +1 -0
  114. package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
  115. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  116. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  117. package/dist/_members/render-harness/mediaServer.d.ts +6 -1
  118. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  119. package/dist/account-model/testing.js +15 -5
  120. package/dist/account-model/validators.js +5 -7
  121. package/dist/account-model.js +5 -7
  122. package/dist/animate/preparation-facts.js +1 -1
  123. package/dist/animate.js +2 -6
  124. package/dist/authoring/composer.js +1 -1
  125. package/dist/authoring/context.js +8 -6
  126. package/dist/authoring/models/defaults.d.ts +1 -0
  127. package/dist/authoring/models/defaults.js +7 -0
  128. package/dist/authoring/models.js +5 -3
  129. package/dist/authoring/motion.d.ts +1 -0
  130. package/dist/authoring/motion.js +25 -0
  131. package/dist/authoring/prompts.js +4 -14
  132. package/dist/authoring/providers.js +1 -1
  133. package/dist/authoring/resource-routing.js +2 -2
  134. package/dist/authoring/resources.js +4 -22
  135. package/dist/authoring/scene.js +3 -2
  136. package/dist/authoring.js +662 -218
  137. package/dist/brand-derivation/constants.js +1 -1
  138. package/dist/brand-derivation.js +1 -1
  139. package/dist/{chunk-TKFLSGAS.js → chunk-25JH5QZA.js} +2 -2
  140. package/dist/{chunk-LBJ5LI5V.js → chunk-2K2GBFLU.js} +17 -8
  141. package/dist/{chunk-RAXHCRVV.js → chunk-2PAP5LO5.js} +1 -1
  142. package/dist/{chunk-JPMVNMF3.js → chunk-3HLDIIWA.js} +1 -1
  143. package/dist/{chunk-PTVTWQ4T.js → chunk-3JEUNKDK.js} +2 -2
  144. package/dist/chunk-3VWJ3H4X.js +68 -0
  145. package/dist/{chunk-S5H6GH6M.js → chunk-3Z7CN54H.js} +1 -1
  146. package/dist/{chunk-FVDFPJHT.js → chunk-46WBCUPE.js} +1 -1
  147. package/dist/chunk-4VBLQIM5.js +30 -0
  148. package/dist/{chunk-N2OZDD44.js → chunk-6HA55CRU.js} +4 -5
  149. package/dist/{chunk-WL2MLKWU.js → chunk-6HPEMDQW.js} +1 -1
  150. package/dist/chunk-6KZCXAYL.js +257 -0
  151. package/dist/{chunk-IEXAKOEX.js → chunk-6QGARSV6.js} +2 -15
  152. package/dist/{chunk-3YVIAWET.js → chunk-7II5OM7R.js} +13 -1
  153. package/dist/{chunk-VLJOIUHL.js → chunk-7PSQUTL5.js} +3 -3
  154. package/dist/{chunk-UFD4EZHM.js → chunk-AFUITAH6.js} +4 -5
  155. package/dist/{chunk-HGCYZMII.js → chunk-AK6QPX7A.js} +9 -9
  156. package/dist/{chunk-EC6VFQE6.js → chunk-BZVOCVQV.js} +1 -0
  157. package/dist/{chunk-RBWS5XHE.js → chunk-CAF7BRNE.js} +2 -2
  158. package/dist/chunk-CEO47DIE.js +199 -0
  159. package/dist/chunk-CIOUDOGN.js +12 -0
  160. package/dist/{chunk-BDFAA747.js → chunk-DCKADD5B.js} +1 -1
  161. package/dist/{chunk-7AZLFN26.js → chunk-EISHFHU5.js} +20 -20
  162. package/dist/chunk-EQH37KNZ.js +224 -0
  163. package/dist/{chunk-EXY4JJPH.js → chunk-F6PLDBAK.js} +2 -11
  164. package/dist/{chunk-DAARYRNT.js → chunk-FKSXKS35.js} +6 -6
  165. package/dist/{chunk-KBDUEU4W.js → chunk-FZB7UX44.js} +1 -1
  166. package/dist/chunk-H2ZZXISB.js +24 -0
  167. package/dist/{chunk-WSMCZRJ2.js → chunk-I2HNC4PQ.js} +1 -1
  168. package/dist/{chunk-VXGA7LQQ.js → chunk-IUJABAG2.js} +14 -10
  169. package/dist/{chunk-MZB4ZXYW.js → chunk-IVFMOHAC.js} +1 -9
  170. package/dist/{chunk-UKDBU7HM.js → chunk-JNBNDHEF.js} +3 -3
  171. package/dist/{chunk-JWMWVP64.js → chunk-KC4LNZL5.js} +4 -9
  172. package/dist/{chunk-GCQ7Z7S7.js → chunk-KKATUGRU.js} +3 -9
  173. package/dist/{chunk-Q5P5UFOP.js → chunk-KLQ53NX3.js} +13 -1
  174. package/dist/{chunk-UMXES6ED.js → chunk-LVMWPFV4.js} +1 -1
  175. package/dist/chunk-NECN7TT4.js +367 -0
  176. package/dist/{chunk-4ZE564YF.js → chunk-NM7NWXGF.js} +0 -146
  177. package/dist/{chunk-KSRFYFUZ.js → chunk-NY6EI5YW.js} +4 -4
  178. package/dist/{chunk-4PV3UYJF.js → chunk-ONSGT6UJ.js} +257 -226
  179. package/dist/{chunk-VZ7TYX6Z.js → chunk-P3EFZDM5.js} +0 -17
  180. package/dist/{chunk-BEFSJMFF.js → chunk-P6RVYHLT.js} +9 -9
  181. package/dist/{chunk-TBHSOEYK.js → chunk-PLWDYWK6.js} +4 -34
  182. package/dist/{chunk-KYRDKK2D.js → chunk-Q6CJ6HCU.js} +1 -6
  183. package/dist/{chunk-FWSJLHSV.js → chunk-R642352J.js} +1 -1
  184. package/dist/{chunk-XELS2BGA.js → chunk-R6HTIP3N.js} +1 -3
  185. package/dist/{chunk-RL5SO653.js → chunk-RQRPSSRT.js} +1 -1
  186. package/dist/chunk-RR7UBEBV.js +172 -0
  187. package/dist/{chunk-FHMTAZD4.js → chunk-RWJHZCOR.js} +1 -71
  188. package/dist/{chunk-73DQTUWY.js → chunk-TIAJMEQ4.js} +2 -22
  189. package/dist/{chunk-2ESYSVXG.js → chunk-U67V476Y.js} +2 -15
  190. package/dist/{chunk-N54EGUVM.js → chunk-U7KSOA2L.js} +4 -21
  191. package/dist/{chunk-K66NLMGX.js → chunk-UGWJC4GA.js} +62 -18
  192. package/dist/chunk-VBYINB74.js +136 -0
  193. package/dist/{chunk-W2245F6G.js → chunk-WTQRLFR2.js} +1 -1
  194. package/dist/{chunk-Z4G3VM3H.js → chunk-X2RTLS6K.js} +2 -23
  195. package/dist/chunk-XHMKPTHV.js +20 -0
  196. package/dist/{chunk-R7G2PNEZ.js → chunk-XOT2VWCO.js} +13 -28
  197. package/dist/{chunk-E63UEO5C.js → chunk-XQGQ5EFS.js} +16 -1
  198. package/dist/chunk-XR76OZKC.js +21 -0
  199. package/dist/chunk-ZCEYEIRB.js +179 -0
  200. package/dist/{chunk-IMIUHG2E.js → chunk-ZPJQ3TQL.js} +1 -3
  201. package/dist/cloud-import.js +1 -16
  202. package/dist/component-runtime/browserOptions.js +4 -3
  203. package/dist/component-runtime/contracts.js +2 -2
  204. package/dist/component-runtime/identity/browser.js +2 -17
  205. package/dist/component-runtime/identity.js +5 -7
  206. package/dist/component-runtime/importPolicy.js +3 -3
  207. package/dist/component-runtime/mediaResolution.js +1 -1
  208. package/dist/component-runtime/render.js +8 -7
  209. package/dist/component-runtime/sourceAdmission.js +3 -3
  210. package/dist/component-runtime/template/testing.d.ts +1 -0
  211. package/dist/component-runtime/template/testing.js +383 -0
  212. package/dist/component-runtime/template.d.ts +1 -0
  213. package/dist/component-runtime/template.js +251 -0
  214. package/dist/component-runtime.js +27 -28
  215. package/dist/compose.js +22 -39
  216. package/dist/composition/audio.js +4 -8
  217. package/dist/composition/brand-kit.js +1 -1
  218. package/dist/composition/brief.js +1 -1
  219. package/dist/composition/card-html.d.ts +1 -0
  220. package/dist/composition/card-html.js +15 -0
  221. package/dist/composition/depth.js +1 -1
  222. package/dist/composition/floors.js +2 -2
  223. package/dist/composition/fonts.js +1 -1
  224. package/dist/composition/graphics-plan.js +4 -44
  225. package/dist/composition/invariants.js +5 -12
  226. package/dist/composition/ops.js +7 -5
  227. package/dist/composition/primitive-catalog.js +4 -6
  228. package/dist/composition/projection.js +3 -5
  229. package/dist/composition/reframe/coverage.js +1 -1
  230. package/dist/composition/reframe/kenBurns.js +1 -1
  231. package/dist/composition/reframe/shotScale.js +1 -1
  232. package/dist/composition/reframe/trajectory.js +1 -1
  233. package/dist/composition/reframe.js +1 -1
  234. package/dist/composition/scene/budget-policy.js +1 -1
  235. package/dist/composition/scene.js +1 -1
  236. package/dist/composition/timeline.js +4 -8
  237. package/dist/composition/validators/brand-kit-body.d.ts +1 -0
  238. package/dist/composition/validators/brand-kit-body.js +18 -0
  239. package/dist/composition/validators/graphic-kinds.js +1 -1
  240. package/dist/composition/validators.js +16 -69
  241. package/dist/composition-ops.js +17 -15
  242. package/dist/composition.js +21 -83
  243. package/dist/context-7SWSVJ6Z.js +17 -0
  244. package/dist/core/render.js +13 -9
  245. package/dist/core/select.js +3 -3
  246. package/dist/core.js +9 -9
  247. package/dist/director/ai-sdk.js +7 -11
  248. package/dist/director/domain.js +9 -17
  249. package/dist/director.js +9 -21
  250. package/dist/{dist-LAJ2363K.js → dist-6FO67KVA.js} +1 -1
  251. package/dist/errors.js +2 -2
  252. package/dist/foundation/canonical.d.ts +1 -0
  253. package/dist/foundation/canonical.js +7 -0
  254. package/dist/foundation/primitives.js +4 -6
  255. package/dist/foundation/testing.d.ts +1 -0
  256. package/dist/foundation/testing.js +7 -0
  257. package/dist/foundation.js +7 -9
  258. package/dist/{magic-string.es-SDTMJBWP.js → magic-string.es-KVSW34UD.js} +1 -1
  259. package/dist/mcp/adapter.js +8 -16
  260. package/dist/mcp/composition-ops.d.ts +1 -0
  261. package/dist/mcp/composition-ops.js +11 -0
  262. package/dist/mcp/core.js +2 -2
  263. package/dist/mcp/curation.js +1 -1
  264. package/dist/mcp/executor.js +1 -1
  265. package/dist/mcp/scene-shot.js +3 -3
  266. package/dist/mcp/server.js +6 -30
  267. package/dist/mcp/wire-schema.js +13 -2
  268. package/dist/mcp.js +11 -33
  269. package/dist/media-model/generation.js +6 -8
  270. package/dist/media-model/media-kind.js +1 -1
  271. package/dist/media-model/testing.js +2 -2
  272. package/dist/media-model/transcriptSearch.js +1 -1
  273. package/dist/media-model.js +6 -8
  274. package/dist/nle-export/xml.js +1 -1
  275. package/dist/nle-export.js +2 -2
  276. package/dist/perception.js +1 -1
  277. package/dist/plane/conformance.js +8 -4
  278. package/dist/plane/contract.js +1 -1
  279. package/dist/plane.js +8 -4
  280. package/dist/primitives/backgrounds.js +3 -3
  281. package/dist/primitives/captions.js +5 -5
  282. package/dist/primitives/effects.js +4 -4
  283. package/dist/primitives/hero-text.js +4 -4
  284. package/dist/primitives/layouts.js +4 -4
  285. package/dist/primitives/lib/easings.js +1 -1
  286. package/dist/primitives/lib/frameScale.js +1 -1
  287. package/dist/primitives/lib/index.js +7 -13
  288. package/dist/primitives/lib/palette.js +2 -2
  289. package/dist/primitives/lib/preview.js +1 -1
  290. package/dist/primitives/lib/schema.js +1 -1
  291. package/dist/primitives/lib/seeded-random.js +1 -1
  292. package/dist/primitives/lib/text/contrast.js +3 -3
  293. package/dist/primitives/lib/text/fill.js +1 -1
  294. package/dist/primitives/lib/text/fitText.js +1 -1
  295. package/dist/primitives/lib/text/marker.js +1 -1
  296. package/dist/primitives/lib/text/motion.js +1 -1
  297. package/dist/primitives/lib/text/recolor.js +1 -1
  298. package/dist/primitives/lib/text/stage.js +1 -1
  299. package/dist/primitives/lib/text/typeface.js +1 -1
  300. package/dist/primitives/lib/tokens.js +4 -11
  301. package/dist/primitives/lib.js +7 -13
  302. package/dist/primitives/scenes.js +5 -5
  303. package/dist/primitives/subject-foreground.js +1 -1
  304. package/dist/primitives/text.js +4 -4
  305. package/dist/primitives/transitions.js +3 -3
  306. package/dist/primitives/ui-blocks.js +5 -5
  307. package/dist/primitives/workspace.js +1 -1
  308. package/dist/primitives.js +18 -32
  309. package/dist/render-harness/cardAssetAdmission.js +4 -4
  310. package/dist/render-harness/cardFonts.js +3 -3
  311. package/dist/render-harness/renderInputAssets.js +4 -4
  312. package/dist/render-harness.js +100 -82
  313. package/dist/src-XI5MULKD.js +71 -0
  314. package/package.json +51 -61
  315. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -11
  316. package/dist/_members/animate/animations/index.d.ts +0 -9
  317. package/dist/_members/animate/easing/index.d.ts +0 -3
  318. package/dist/_members/animate/mobjects/index.d.ts +0 -4
  319. package/dist/_members/animate/scene/internal.d.ts +0 -29
  320. package/dist/_members/authoring/prompts/graphics.d.ts +0 -9
  321. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -2
  322. package/dist/_members/composition/autozoom/index.d.ts +0 -25
  323. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -34
  324. package/dist/_members/composition/invariants/time.d.ts +0 -14
  325. package/dist/_members/composition/types/index.d.ts +0 -8
  326. package/dist/_members/composition/validators/font.d.ts +0 -58
  327. package/dist/_members/composition/validators/registry.d.ts +0 -79
  328. package/dist/_members/composition/validators/render.d.ts +0 -2068
  329. package/dist/_members/director/ai-sdk/chunks.d.ts +0 -14
  330. package/dist/_members/director/domain/ports.d.ts +0 -32
  331. package/dist/_members/director/testing/contract.d.ts +0 -52
  332. package/dist/_members/director/testing/index.d.ts +0 -1
  333. package/dist/_members/foundation/codes/index.d.ts +0 -10
  334. package/dist/_members/nle-export/server/index.d.ts +0 -1
  335. package/dist/_members/nle-export/server/pack-zip.d.ts +0 -6
  336. package/dist/_members/render-harness/assetRefs.d.ts +0 -26
  337. package/dist/_members/render-harness/assetRefs.d.ts.map +0 -1
  338. package/dist/_members/render-harness/remotion-runtime.d.ts +0 -87
  339. package/dist/authoring/build-tools.d.ts +0 -1
  340. package/dist/authoring/build-tools.js +0 -27
  341. package/dist/authoring/capabilities.d.ts +0 -1
  342. package/dist/authoring/capabilities.js +0 -11
  343. package/dist/authoring/pipelineTrace.d.ts +0 -1
  344. package/dist/authoring/pipelineTrace.js +0 -7
  345. package/dist/authoring/tools.d.ts +0 -1
  346. package/dist/authoring/tools.js +0 -30
  347. package/dist/chunk-AXRSCHQX.js +0 -661
  348. package/dist/chunk-DV7ZFVL4.js +0 -116
  349. package/dist/chunk-GF52TW4I.js +0 -51
  350. package/dist/chunk-JOURGVOR.js +0 -27
  351. package/dist/chunk-LBN5KQC6.js +0 -384
  352. package/dist/chunk-OSMXQV5V.js +0 -18
  353. package/dist/chunk-QDBVYZSF.js +0 -128
  354. package/dist/chunk-RERR5JLM.js +0 -197
  355. package/dist/chunk-U3JPILZS.js +0 -15
  356. package/dist/chunk-Y4HPN4BC.js +0 -364
  357. package/dist/composition/autozoom.d.ts +0 -1
  358. package/dist/composition/autozoom.js +0 -76
  359. package/dist/composition/fixtures.d.ts +0 -1
  360. package/dist/composition/fixtures.js +0 -154
  361. package/dist/composition/types.d.ts +0 -1
  362. package/dist/composition/types.js +0 -0
  363. package/dist/context-6HPUO36M.js +0 -15
  364. package/dist/director/testing.d.ts +0 -1
  365. package/dist/director/testing.js +0 -22
  366. package/dist/foundation/codes.d.ts +0 -1
  367. package/dist/foundation/codes.js +0 -7
  368. package/dist/nle-export/server.d.ts +0 -1
  369. package/dist/nle-export/server.js +0 -25856
  370. /package/dist/{chunk-FTVZF4GO.js → chunk-S432RE6G.js} +0 -0
@@ -3,13 +3,13 @@ import {
3
3
  projectMediaPlaybackSpans,
4
4
  sliceTranscriptWords,
5
5
  splitIntoSentences
6
- } from "./chunk-VXGA7LQQ.js";
6
+ } from "./chunk-IUJABAG2.js";
7
7
  import {
8
8
  createHeadlessStore,
9
9
  findClipById,
10
10
  findMarkerById,
11
11
  findTrackContainingClipId
12
- } from "./chunk-LBJ5LI5V.js";
12
+ } from "./chunk-2K2GBFLU.js";
13
13
  import {
14
14
  CaptionLayoutInput,
15
15
  CaptionSegment,
@@ -25,7 +25,7 @@ import {
25
25
  captionLayoutIssues,
26
26
  captionSegmentSignature,
27
27
  captionVisibilityIssues
28
- } from "./chunk-UFD4EZHM.js";
28
+ } from "./chunk-AFUITAH6.js";
29
29
  import {
30
30
  ReframeSegment
31
31
  } from "./chunk-B7J5UUUV.js";
@@ -40,6 +40,256 @@ import {
40
40
  // ../composition-ops/src/index.ts
41
41
  import { z } from "zod";
42
42
 
43
+ // ../composition-ops/src/opRecorder.ts
44
+ var genTrackId = (kind) => `track-${kind}-${crypto.randomUUID().slice(0, 8)}`;
45
+ var NON_DOCUMENT_METHODS = /* @__PURE__ */ new Set([
46
+ "selectClip",
47
+ "setSelection",
48
+ "selectAllClips",
49
+ "selectOverlay",
50
+ "clearOverlaySelection",
51
+ "getState",
52
+ "batch"
53
+ ]);
54
+ function wrapWithOpRecorder(base, opts) {
55
+ const { record, getComposition } = opts;
56
+ const captionTarget = {
57
+ getState: () => ({ composition: getComposition() }),
58
+ setCaptionStyle: (style) => base.setCaptionStyle(style),
59
+ setCaptions: (segments, style) => base.setCaptions(segments, style)
60
+ };
61
+ const opTarget = {
62
+ ...base,
63
+ getState: () => ({ composition: getComposition() })
64
+ };
65
+ const applyAndRecord = (op) => {
66
+ const before = getComposition();
67
+ applyOp(before, op);
68
+ record(op, before);
69
+ applyOpToStore(opTarget, op);
70
+ };
71
+ const wrapped = {
72
+ addClip: (clip, options) => {
73
+ const before = getComposition();
74
+ const c = clip.kind ? clip : { ...clip, kind: "video" };
75
+ if (options?.newTrack || !before.tracks.some((t) => t.kind === "video")) {
76
+ const newTrackId = options?.newTrackId ?? genTrackId("video");
77
+ record({ type: "clip.add", clip: c, newTrack: true, newTrackId }, before);
78
+ base.addClip(c, { newTrack: true, newTrackId });
79
+ } else {
80
+ record({ type: "clip.add", clip: c }, before);
81
+ base.addClip(c);
82
+ }
83
+ },
84
+ addClipToTrack: (clip, target) => {
85
+ if ("trackId" in target) {
86
+ applyAndRecord({ type: "clip.add", clip, trackId: target.trackId });
87
+ return;
88
+ }
89
+ const c = clip.kind ? clip : { ...clip, kind: target.kind };
90
+ const creates = target.newTrack || !getComposition().tracks.some((t) => t.kind === target.kind);
91
+ applyAndRecord(
92
+ creates ? { type: "clip.add", clip: c, newTrack: true, newTrackId: target.newTrackId ?? genTrackId(target.kind) } : { type: "clip.add", clip: c }
93
+ );
94
+ },
95
+ removeClip: (id) => {
96
+ record({ type: "clip.remove", clipId: id }, getComposition());
97
+ base.removeClip(id);
98
+ },
99
+ updateClip: (id, updates) => {
100
+ record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
101
+ base.updateClip(id, updates);
102
+ },
103
+ removeClipsByMediaId: (mediaId) => {
104
+ record({ type: "removeClipsByMediaId", mediaId }, getComposition());
105
+ base.removeClipsByMediaId(mediaId);
106
+ },
107
+ setClipProperties: (id, props) => {
108
+ const { playbackRate, ...patch } = props;
109
+ if (playbackRate !== void 0) {
110
+ if (opts.onUnjournalable) {
111
+ const preview = createHeadlessStore(getComposition());
112
+ preview.setClipProperties(id, props);
113
+ opts.onUnjournalable("setClipProperties.playbackRate", preview.getState().composition);
114
+ return base.setClipProperties(id, props);
115
+ }
116
+ throw new Error(
117
+ "opRecorder.setClipProperties: playbackRate is not serializable as a clip.update op (source.playbackRate triggers a cross-field ripple). Use the server-authoritative ripple path."
118
+ );
119
+ }
120
+ record({ type: "clip.update", clipId: id, patch }, getComposition());
121
+ return base.setClipProperties(id, props);
122
+ },
123
+ addOverlay: (clip) => {
124
+ const before = getComposition();
125
+ const track = before.tracks.find((t) => t.kind === "overlay");
126
+ let trackId = track?.id;
127
+ if (!trackId) {
128
+ trackId = genTrackId("overlay");
129
+ record({ type: "addTrack", kind: "overlay", id: trackId }, before);
130
+ base.addTrack("overlay", void 0, trackId);
131
+ }
132
+ record({ type: "clip.add", clip, trackId }, getComposition());
133
+ base.addOverlay(clip);
134
+ },
135
+ removeOverlay: (id) => {
136
+ record({ type: "clip.remove", clipId: id }, getComposition());
137
+ base.removeOverlay(id);
138
+ },
139
+ updateOverlay: (id, updates) => {
140
+ record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
141
+ base.updateOverlay(id, updates);
142
+ },
143
+ loadOverlays: (clips) => {
144
+ record({ type: "loadOverlays", clips }, getComposition());
145
+ base.loadOverlays(clips);
146
+ },
147
+ addAudioClip: (clip) => {
148
+ const before = getComposition();
149
+ const track = before.tracks.find((t) => t.kind === "audio");
150
+ let trackId = track?.id;
151
+ if (!trackId) {
152
+ trackId = genTrackId("audio");
153
+ record({ type: "addTrack", kind: "audio", id: trackId }, before);
154
+ base.addTrack("audio", void 0, trackId);
155
+ }
156
+ record({ type: "clip.add", clip, trackId }, getComposition());
157
+ base.addAudioClip(clip);
158
+ },
159
+ removeAudioClip: (id) => {
160
+ record({ type: "clip.remove", clipId: id }, getComposition());
161
+ base.removeAudioClip(id);
162
+ },
163
+ updateAudioClip: (id, updates) => {
164
+ record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
165
+ base.updateAudioClip(id, updates);
166
+ },
167
+ addMarker: (marker) => {
168
+ record({ type: "addMarker", marker }, getComposition());
169
+ base.addMarker(marker);
170
+ },
171
+ removeMarker: (id) => {
172
+ record({ type: "removeMarker", markerId: id }, getComposition());
173
+ base.removeMarker(id);
174
+ },
175
+ updateMarker: (id, updates) => {
176
+ record({ type: "updateMarker", markerId: id, updates }, getComposition());
177
+ base.updateMarker(id, updates);
178
+ },
179
+ setCropIntents: (clipId, segments) => {
180
+ record({ type: "setCropIntents", clipId, segments }, getComposition());
181
+ base.setCropIntents(clipId, segments);
182
+ },
183
+ setEffects: (clipId, effects) => {
184
+ record({ type: "setEffects", clipId, effects }, getComposition());
185
+ base.setEffects(clipId, effects);
186
+ },
187
+ // The two caption writes go through the same function `applyOpToStore` uses, so the op this
188
+ // journals is exactly the op a replay applies. Calling the store's setter directly left this
189
+ // lane — Studio's composition store and the in-app agent capability are built on it — able to
190
+ // write a face the op gate refuses and to journal an op `applyOp` would refuse on replay.
191
+ // The op is applied FIRST: a refusal must leave nothing in the journal.
192
+ setCaptionStyle: (style) => {
193
+ const before = getComposition();
194
+ const op = { type: "setCaptionStyle", style };
195
+ applyOp(before, op);
196
+ record(op, before);
197
+ applyCaptionOpToStore(captionTarget, op);
198
+ },
199
+ setCaptions: (segments, style) => {
200
+ const before = getComposition();
201
+ const op = {
202
+ type: "setCaptions",
203
+ segments,
204
+ ...style !== void 0 ? { style } : {}
205
+ };
206
+ applyOp(before, op);
207
+ record(op, before);
208
+ applyCaptionOpToStore(captionTarget, op);
209
+ },
210
+ setCaptionLayouts: (layouts) => {
211
+ applyAndRecord({
212
+ type: "setCaptionLayouts",
213
+ layouts: layouts.map(({ wordSignature: _signature, ...layout }) => layout)
214
+ });
215
+ },
216
+ setCaptionDepth: (zPlane) => {
217
+ applyAndRecord({ type: "setCaptionDepth", zPlane });
218
+ },
219
+ setFormat: (format) => {
220
+ record({ type: "setFormat", format }, getComposition());
221
+ base.setFormat(format);
222
+ },
223
+ addTrack: (kind, name, id) => {
224
+ const useId = id ?? genTrackId(kind);
225
+ record({ type: "addTrack", kind, ...name !== void 0 ? { name } : {}, id: useId }, getComposition());
226
+ base.addTrack(kind, name, useId);
227
+ },
228
+ removeTrack: (trackId) => {
229
+ record({ type: "removeTrack", trackId }, getComposition());
230
+ base.removeTrack(trackId);
231
+ },
232
+ updateTrack: (trackId, updates) => {
233
+ record({ type: "updateTrack", trackId, updates }, getComposition());
234
+ base.updateTrack(trackId, updates);
235
+ },
236
+ reorderTracks: (fromIndex, toIndex) => {
237
+ record({ type: "reorderTracks", fromIndex, toIndex }, getComposition());
238
+ base.reorderTracks(fromIndex, toIndex);
239
+ },
240
+ moveClipToTrack: (clipId, targetTrackId, newStartTime) => {
241
+ record(
242
+ {
243
+ type: "moveClipToTrack",
244
+ clipId,
245
+ targetTrackId,
246
+ ...newStartTime !== void 0 ? { newStartTime } : {}
247
+ },
248
+ getComposition()
249
+ );
250
+ base.moveClipToTrack(clipId, targetTrackId, newStartTime);
251
+ },
252
+ duplicateClip: (id) => {
253
+ if (createHeadlessStore(getComposition()).duplicateClip(id) === void 0) return void 0;
254
+ const newClipId = `${id}-dup-${crypto.randomUUID().slice(0, 8)}`;
255
+ applyAndRecord({ type: "duplicateClip", clipId: id, newClipId });
256
+ return newClipId;
257
+ },
258
+ cutAndRipple: (start, end) => {
259
+ record({ type: "cutAndRipple", start, end }, getComposition());
260
+ base.cutAndRipple(start, end);
261
+ },
262
+ ripple: (time, amount) => {
263
+ record({ type: "ripple", time, amount }, getComposition());
264
+ base.ripple(time, amount);
265
+ },
266
+ addExcludedRange: (clipId, sourceStart, sourceEnd, reason) => {
267
+ record(
268
+ {
269
+ type: "addExcludedRange",
270
+ clipId,
271
+ sourceStart,
272
+ sourceEnd,
273
+ ...reason !== void 0 ? { reason } : {}
274
+ },
275
+ getComposition()
276
+ );
277
+ base.addExcludedRange(clipId, sourceStart, sourceEnd, reason);
278
+ },
279
+ removeExcludedRange: (clipId, rangeIdx) => {
280
+ record({ type: "removeExcludedRange", clipId, rangeIdx }, getComposition());
281
+ base.removeExcludedRange(clipId, rangeIdx);
282
+ }
283
+ };
284
+ for (const [name, member] of Object.entries(base)) {
285
+ if (typeof member !== "function" || name in wrapped || NON_DOCUMENT_METHODS.has(name)) continue;
286
+ throw new Error(
287
+ `wrapWithOpRecorder: '${name}' is neither journaled nor a non-document method. Journal it here, or add it to NON_DOCUMENT_METHODS if it changes no document state.`
288
+ );
289
+ }
290
+ return { ...base, ...wrapped };
291
+ }
292
+
43
293
  // ../composition-ops/src/recordingStore.ts
44
294
  function createRecordingStore(initial) {
45
295
  const base = createHeadlessStore(initial);
@@ -378,28 +628,6 @@ function collectRawComponentClips(composition) {
378
628
  }
379
629
  return out;
380
630
  }
381
- function collectUnbakedComponentClips(composition) {
382
- const tracks = composition?.tracks;
383
- if (!Array.isArray(tracks)) return [];
384
- const out = [];
385
- for (const track of tracks) {
386
- const contents = track?.contents;
387
- if (!Array.isArray(contents)) continue;
388
- for (const c of contents) {
389
- const src = c?.source;
390
- if (!src || typeof src !== "object") continue;
391
- if (src.kind !== "overlay") continue;
392
- if (src.primitiveId !== "custom") continue;
393
- const params = src.params;
394
- const componentId = params && typeof params === "object" ? params.componentId : void 0;
395
- const clipId = c.id;
396
- if (typeof componentId !== "string" || componentId.length === 0) continue;
397
- if (typeof clipId !== "string" || clipId.length === 0) continue;
398
- out.push({ clipId, componentId });
399
- }
400
- }
401
- return out;
402
- }
403
631
 
404
632
  // ../composition-ops/src/index.ts
405
633
  var SceneAssetBindings = z.record(z.string().min(1), z.string().min(1));
@@ -726,6 +954,9 @@ function applyOpToStore(store, op) {
726
954
  store.moveClipToTrack(op.clipId, op.targetTrackId, op.newStartTime);
727
955
  break;
728
956
  case "duplicateClip": {
957
+ if (op.newClipId !== void 0 && findClipById(composition, op.newClipId)) {
958
+ throw new Error(`duplicateClip: clip '${op.newClipId}' already exists`);
959
+ }
729
960
  const minted = store.duplicateClip(op.clipId);
730
961
  if (op.newClipId !== void 0 && minted !== void 0 && minted !== op.newClipId) {
731
962
  store.updateClip(minted, { id: op.newClipId });
@@ -892,207 +1123,8 @@ function invertOp(before, op) {
892
1123
  }
893
1124
  }
894
1125
 
895
- // ../composition-ops/src/opRecorder.ts
896
- var genTrackId = (kind) => `track-${kind}-${crypto.randomUUID().slice(0, 8)}`;
897
- function wrapWithOpRecorder(base, opts) {
898
- const { record, getComposition } = opts;
899
- const captionTarget = {
900
- getState: () => ({ composition: getComposition() }),
901
- setCaptionStyle: (style) => base.setCaptionStyle(style),
902
- setCaptions: (segments, style) => base.setCaptions(segments, style)
903
- };
904
- const wrapped = {
905
- addClip: (clip, options) => {
906
- const before = getComposition();
907
- const c = clip.kind ? clip : { ...clip, kind: "video" };
908
- if (options?.newTrack) {
909
- const newTrackId = options.newTrackId ?? genTrackId("video");
910
- record({ type: "clip.add", clip: c, newTrack: true, newTrackId }, before);
911
- base.addClip(c, { newTrack: true, newTrackId });
912
- } else {
913
- record({ type: "clip.add", clip: c }, before);
914
- base.addClip(c);
915
- }
916
- },
917
- removeClip: (id) => {
918
- record({ type: "clip.remove", clipId: id }, getComposition());
919
- base.removeClip(id);
920
- },
921
- updateClip: (id, updates) => {
922
- record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
923
- base.updateClip(id, updates);
924
- },
925
- removeClipsByMediaId: (mediaId) => {
926
- record({ type: "removeClipsByMediaId", mediaId }, getComposition());
927
- base.removeClipsByMediaId(mediaId);
928
- },
929
- setClipProperties: (id, props) => {
930
- const { playbackRate, ...patch } = props;
931
- if (playbackRate !== void 0) {
932
- if (opts.onUnjournalable) {
933
- const result = base.setClipProperties(id, props);
934
- opts.onUnjournalable("setClipProperties.playbackRate");
935
- return result;
936
- }
937
- throw new Error(
938
- "opRecorder.setClipProperties: playbackRate is not serializable as a clip.update op (source.playbackRate triggers a cross-field ripple). Use the server-authoritative ripple path."
939
- );
940
- }
941
- record({ type: "clip.update", clipId: id, patch }, getComposition());
942
- return base.setClipProperties(id, props);
943
- },
944
- addOverlay: (clip) => {
945
- const before = getComposition();
946
- const track = before.tracks.find((t) => t.kind === "overlay");
947
- let trackId = track?.id;
948
- if (!trackId) {
949
- trackId = genTrackId("overlay");
950
- record({ type: "addTrack", kind: "overlay", id: trackId }, before);
951
- base.addTrack("overlay", void 0, trackId);
952
- }
953
- record({ type: "clip.add", clip, trackId }, getComposition());
954
- base.addOverlay(clip);
955
- },
956
- removeOverlay: (id) => {
957
- record({ type: "clip.remove", clipId: id }, getComposition());
958
- base.removeOverlay(id);
959
- },
960
- updateOverlay: (id, updates) => {
961
- record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
962
- base.updateOverlay(id, updates);
963
- },
964
- loadOverlays: (clips) => {
965
- record({ type: "loadOverlays", clips }, getComposition());
966
- base.loadOverlays(clips);
967
- },
968
- addAudioClip: (clip) => {
969
- const before = getComposition();
970
- const track = before.tracks.find((t) => t.kind === "audio");
971
- let trackId = track?.id;
972
- if (!trackId) {
973
- trackId = genTrackId("audio");
974
- record({ type: "addTrack", kind: "audio", id: trackId }, before);
975
- base.addTrack("audio", void 0, trackId);
976
- }
977
- record({ type: "clip.add", clip, trackId }, getComposition());
978
- base.addAudioClip(clip);
979
- },
980
- removeAudioClip: (id) => {
981
- record({ type: "clip.remove", clipId: id }, getComposition());
982
- base.removeAudioClip(id);
983
- },
984
- updateAudioClip: (id, updates) => {
985
- record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
986
- base.updateAudioClip(id, updates);
987
- },
988
- addMarker: (marker) => {
989
- record({ type: "addMarker", marker }, getComposition());
990
- base.addMarker(marker);
991
- },
992
- removeMarker: (id) => {
993
- record({ type: "removeMarker", markerId: id }, getComposition());
994
- base.removeMarker(id);
995
- },
996
- updateMarker: (id, updates) => {
997
- record({ type: "updateMarker", markerId: id, updates }, getComposition());
998
- base.updateMarker(id, updates);
999
- },
1000
- setCropIntents: (clipId, segments) => {
1001
- record({ type: "setCropIntents", clipId, segments }, getComposition());
1002
- base.setCropIntents(clipId, segments);
1003
- },
1004
- setEffects: (clipId, effects) => {
1005
- record({ type: "setEffects", clipId, effects }, getComposition());
1006
- base.setEffects(clipId, effects);
1007
- },
1008
- // The two caption writes go through the same function `applyOpToStore` uses, so the op this
1009
- // journals is exactly the op a replay applies. Calling the store's setter directly left this
1010
- // lane — Studio's composition store and the in-app agent capability are built on it — able to
1011
- // write a face the op gate refuses and to journal an op `applyOp` would refuse on replay.
1012
- // The op is applied FIRST: a refusal must leave nothing in the journal.
1013
- setCaptionStyle: (style) => {
1014
- const before = getComposition();
1015
- const op = { type: "setCaptionStyle", style };
1016
- applyCaptionOpToStore(captionTarget, op);
1017
- record(op, before);
1018
- },
1019
- setCaptions: (segments, style) => {
1020
- const before = getComposition();
1021
- const op = {
1022
- type: "setCaptions",
1023
- segments,
1024
- ...style !== void 0 ? { style } : {}
1025
- };
1026
- applyCaptionOpToStore(captionTarget, op);
1027
- record(op, before);
1028
- },
1029
- setFormat: (format) => {
1030
- record({ type: "setFormat", format }, getComposition());
1031
- base.setFormat(format);
1032
- },
1033
- addTrack: (kind, name, id) => {
1034
- const useId = id ?? genTrackId(kind);
1035
- record({ type: "addTrack", kind, ...name !== void 0 ? { name } : {}, id: useId }, getComposition());
1036
- base.addTrack(kind, name, useId);
1037
- },
1038
- removeTrack: (trackId) => {
1039
- record({ type: "removeTrack", trackId }, getComposition());
1040
- base.removeTrack(trackId);
1041
- },
1042
- updateTrack: (trackId, updates) => {
1043
- record({ type: "updateTrack", trackId, updates }, getComposition());
1044
- base.updateTrack(trackId, updates);
1045
- },
1046
- reorderTracks: (fromIndex, toIndex) => {
1047
- record({ type: "reorderTracks", fromIndex, toIndex }, getComposition());
1048
- base.reorderTracks(fromIndex, toIndex);
1049
- },
1050
- moveClipToTrack: (clipId, targetTrackId, newStartTime) => {
1051
- record(
1052
- {
1053
- type: "moveClipToTrack",
1054
- clipId,
1055
- targetTrackId,
1056
- ...newStartTime !== void 0 ? { newStartTime } : {}
1057
- },
1058
- getComposition()
1059
- );
1060
- base.moveClipToTrack(clipId, targetTrackId, newStartTime);
1061
- },
1062
- duplicateClip: (id) => {
1063
- record({ type: "duplicateClip", clipId: id }, getComposition());
1064
- return base.duplicateClip(id);
1065
- },
1066
- cutAndRipple: (start, end) => {
1067
- record({ type: "cutAndRipple", start, end }, getComposition());
1068
- base.cutAndRipple(start, end);
1069
- },
1070
- ripple: (time, amount) => {
1071
- record({ type: "ripple", time, amount }, getComposition());
1072
- base.ripple(time, amount);
1073
- },
1074
- addExcludedRange: (clipId, sourceStart, sourceEnd, reason) => {
1075
- record(
1076
- {
1077
- type: "addExcludedRange",
1078
- clipId,
1079
- sourceStart,
1080
- sourceEnd,
1081
- ...reason !== void 0 ? { reason } : {}
1082
- },
1083
- getComposition()
1084
- );
1085
- base.addExcludedRange(clipId, sourceStart, sourceEnd, reason);
1086
- },
1087
- removeExcludedRange: (clipId, rangeIdx) => {
1088
- record({ type: "removeExcludedRange", clipId, rangeIdx }, getComposition());
1089
- base.removeExcludedRange(clipId, rangeIdx);
1090
- }
1091
- };
1092
- return { ...base, ...wrapped };
1093
- }
1094
-
1095
1126
  export {
1127
+ NON_DOCUMENT_METHODS,
1096
1128
  wrapWithOpRecorder,
1097
1129
  createRecordingStore,
1098
1130
  CaptionMaterializationError,
@@ -1106,7 +1138,6 @@ export {
1106
1138
  replaceRegion,
1107
1139
  collectAlphaLayerClips,
1108
1140
  collectRawComponentClips,
1109
- collectUnbakedComponentClips,
1110
1141
  mediaFamily,
1111
1142
  resolveClipKind,
1112
1143
  CompositionOp,
@@ -37,7 +37,6 @@ var AMBIENCE_BED = {
37
37
  };
38
38
  var SFX_TRACK_ID = "track-audio-sfx";
39
39
  var MUSIC_TRACK_ID = "track-audio-music";
40
- var AMBIENCE_TRACK_ID = "track-audio-ambience";
41
40
 
42
41
  // ../composition/src/audio/mixStaging.ts
43
42
  var ROLE_DEFAULT_GAIN_DB = {
@@ -78,20 +77,6 @@ function effectiveClipGainDb(source, voPresent) {
78
77
  if (source.audioRole !== void 0) return roleDefaultGainDb(source.audioRole, voPresent);
79
78
  return void 0;
80
79
  }
81
- function sfxTransients(composition) {
82
- const out = [];
83
- for (const track of composition.tracks) {
84
- if (track.enabled === false) continue;
85
- for (const c of track.contents) {
86
- if (!("source" in c)) continue;
87
- const src = c.source;
88
- if (src.kind === "media" && src.audioRole === "sfx") {
89
- out.push({ clipId: c.id, startMs: Math.round(c.startTime * 1e3) });
90
- }
91
- }
92
- }
93
- return out.sort((a, b) => a.startMs - b.startMs);
94
- }
95
80
  function detectNoAudioTrack(composition) {
96
81
  if ((composition.markers ?? []).some((m) => m.kind === "intentional-silence")) return [];
97
82
  for (const track of composition.tracks) {
@@ -415,13 +400,11 @@ export {
415
400
  AMBIENCE_BED,
416
401
  SFX_TRACK_ID,
417
402
  MUSIC_TRACK_ID,
418
- AMBIENCE_TRACK_ID,
419
403
  ROLE_DEFAULT_GAIN_DB,
420
404
  ROLE_HIERARCHY,
421
405
  roleDefaultGainDb,
422
406
  compositionHasVo,
423
407
  effectiveClipGainDb,
424
- sfxTransients,
425
408
  detectNoAudioTrack,
426
409
  detectMixHierarchyInversion,
427
410
  sfxPackR2Key,
@@ -3,20 +3,20 @@ import {
3
3
  assertSceneShotParamsAdmitted,
4
4
  materializeComponentSource,
5
5
  renderComponentAlpha
6
- } from "./chunk-HGCYZMII.js";
6
+ } from "./chunk-AK6QPX7A.js";
7
+ import {
8
+ assertSourceReadsDeclaredAssets
9
+ } from "./chunk-6HPEMDQW.js";
10
+ import {
11
+ resolvedComponentRenderer
12
+ } from "./chunk-KC4LNZL5.js";
7
13
  import {
8
14
  componentArtifactId,
9
15
  componentBundleId,
10
16
  componentRenderKey,
11
17
  sha256Hex,
12
18
  sourceVersionId
13
- } from "./chunk-EXY4JJPH.js";
14
- import {
15
- assertSourceReadsDeclaredAssets
16
- } from "./chunk-WL2MLKWU.js";
17
- import {
18
- resolvedComponentRenderer
19
- } from "./chunk-JWMWVP64.js";
19
+ } from "./chunk-F6PLDBAK.js";
20
20
  import {
21
21
  ComponentBakeJobV2,
22
22
  ComponentBakeRequestV2,
@@ -25,7 +25,7 @@ import {
25
25
  ComponentRuntimeError,
26
26
  assertGraphicsReceiptMatches,
27
27
  assertRendererReceiptMatches
28
- } from "./chunk-EC6VFQE6.js";
28
+ } from "./chunk-BZVOCVQV.js";
29
29
 
30
30
  // ../execution/component-runtime/src/assetServer.ts
31
31
  import { createHash, randomBytes } from "crypto";
@@ -1,3 +1,6 @@
1
+ import {
2
+ canonicalJson
3
+ } from "./chunk-XHMKPTHV.js";
1
4
  import {
2
5
  checkTracks
3
6
  } from "./chunk-T56BK7NS.js";
@@ -5,23 +8,8 @@ import {
5
8
  // ../composition/src/invariants/etag.ts
6
9
  import { sha256 } from "@noble/hashes/sha256";
7
10
  import { bytesToHex } from "@noble/hashes/utils";
8
- function canonicalJSON(value) {
9
- return JSON.stringify(canonicalize(value));
10
- }
11
- function canonicalize(value) {
12
- if (value === null || typeof value !== "object") return value;
13
- if (Array.isArray(value)) return value.map(canonicalize);
14
- const out = {};
15
- const keys = Object.keys(value).sort();
16
- for (const key of keys) {
17
- const v = value[key];
18
- if (v === void 0) continue;
19
- out[key] = canonicalize(v);
20
- }
21
- return out;
22
- }
23
11
  function etag(composition) {
24
- const canonical = canonicalJSON(composition);
12
+ const canonical = canonicalJson(composition);
25
13
  const hash = bytesToHex(sha256(new TextEncoder().encode(canonical)));
26
14
  return `"${hash}"`;
27
15
  }
@@ -138,20 +126,6 @@ function compositionDuration(composition) {
138
126
  return max;
139
127
  }
140
128
 
141
- // ../composition/src/invariants/time.ts
142
- function otioFrames(seconds, fps) {
143
- return Math.round(seconds * fps);
144
- }
145
- function otioRationalTime(seconds, fps) {
146
- return { value: Math.round(seconds * fps), rate: fps };
147
- }
148
- function sourceFrame(params) {
149
- const { outputFrame, formatFps, clipStartTime, trimStart, playbackRate, sourceFps } = params;
150
- const outSeconds = outputFrame / formatFps;
151
- const sourceSeconds = trimStart + (outSeconds - clipStartTime) * playbackRate;
152
- return Math.round(sourceSeconds * sourceFps);
153
- }
154
-
155
129
  // ../composition/src/invariants/clipPlacement.ts
156
130
  var AUDIO_TRACK_KINDS = /* @__PURE__ */ new Set(["audio"]);
157
131
  var VISUAL_TRACK_KINDS = /* @__PURE__ */ new Set(["video", "image"]);
@@ -196,7 +170,6 @@ function collectClipPlacementIssues(composition, mediaKindById) {
196
170
  }
197
171
 
198
172
  export {
199
- canonicalJSON,
200
173
  etag,
201
174
  checkSceneMarkerPartition,
202
175
  checkIdCollisions,
@@ -204,8 +177,5 @@ export {
204
177
  checkKeyframes,
205
178
  checkComposition,
206
179
  compositionDuration,
207
- otioFrames,
208
- otioRationalTime,
209
- sourceFrame,
210
180
  collectClipPlacementIssues
211
181
  };
@@ -34,14 +34,9 @@ function expandToLinkGroup(composition, entities) {
34
34
  function linkPartners(composition, clipId) {
35
35
  return expandClipIdsToLinkGroups(composition, [clipId]).filter((id) => id !== clipId);
36
36
  }
37
- function makeLinkGroup(clipIds, newGroupId) {
38
- if (clipIds.length < 2) return null;
39
- return { linkGroupId: newGroupId(), clipIds };
40
- }
41
37
 
42
38
  export {
43
39
  expandClipIdsToLinkGroups,
44
40
  expandToLinkGroup,
45
- linkPartners,
46
- makeLinkGroup
41
+ linkPartners
47
42
  };