@cueframe/kernel 0.2.1 → 0.2.3

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 (332) hide show
  1. package/dist/_members/animate/index.d.ts +8 -2
  2. package/dist/_members/animate/layout/FlexLayout.d.ts +69 -0
  3. package/dist/_members/animate/layout/fit.d.ts +44 -0
  4. package/dist/_members/animate/layout/index.d.ts +3 -0
  5. package/dist/_members/animate/layout/solveFlex.d.ts +70 -0
  6. package/dist/_members/animate/media/MediaTileScene.d.ts +65 -0
  7. package/dist/_members/animate/media/recipes.d.ts +61 -0
  8. package/dist/_members/animate/scene/FocusPass.d.ts +76 -0
  9. package/dist/_members/animate/scene/UnlitPlane.d.ts +45 -0
  10. package/dist/_members/animate/scene/__oracle__/cssProjection.d.ts +24 -0
  11. package/dist/_members/animate/scene/assets.d.ts +21 -0
  12. package/dist/_members/animate/scene/backdrop.d.ts +7 -0
  13. package/dist/_members/animate/scene/coordinates.d.ts +58 -0
  14. package/dist/_members/animate/scene/deviceOpacity.d.ts +18 -0
  15. package/dist/_members/animate/scene/errors.d.ts +14 -0
  16. package/dist/_members/animate/scene/finishing.d.ts +69 -0
  17. package/dist/_members/animate/scene/finishingMath.d.ts +60 -0
  18. package/dist/_members/animate/scene/finishingPass.d.ts +35 -0
  19. package/dist/_members/animate/scene/focusBlur.d.ts +56 -0
  20. package/dist/_members/animate/scene/focusResources.d.ts +190 -0
  21. package/dist/_members/animate/scene/focusShaders.d.ts +68 -0
  22. package/dist/_members/animate/scene/fontReadiness.d.ts +27 -0
  23. package/dist/_members/animate/scene/grainNoise.d.ts +118 -0
  24. package/dist/_members/animate/scene/index.d.ts +19 -0
  25. package/dist/_members/animate/scene/internal.d.ts +29 -0
  26. package/dist/_members/animate/scene/planeFit.d.ts +46 -0
  27. package/dist/_members/animate/scene/preparedWorldText.d.ts +25 -0
  28. package/dist/_members/animate/scene/rasterCache.d.ts +30 -0
  29. package/dist/_members/animate/scene/rasterReadiness.d.ts +33 -0
  30. package/dist/_members/animate/scene/readiness.d.ts +69 -0
  31. package/dist/_members/animate/scene/redraw.d.ts +10 -0
  32. package/dist/_members/animate/scene/render.d.ts +9 -0
  33. package/dist/_members/animate/scene/scaling.d.ts +13 -0
  34. package/dist/_members/animate/scene/text.d.ts +40 -0
  35. package/dist/_members/animate/scene/textLayout.d.ts +78 -0
  36. package/dist/_members/animate/scene/textureImageSize.d.ts +4 -0
  37. package/dist/_members/animate/scene/useSceneImageTexture.d.ts +21 -0
  38. package/dist/_members/animate/scene/useWorldTextTexture.d.ts +21 -0
  39. package/dist/_members/animate/scene/v2/MeasuredPlaneGeometry.d.ts +7 -0
  40. package/dist/_members/animate/scene/v2/PhotographicStudioRig.d.ts +11 -0
  41. package/dist/_members/animate/scene/v2/PreparedSceneShotV1.d.ts +12 -0
  42. package/dist/_members/animate/scene/v2/SceneShotV2.d.ts +59 -0
  43. package/dist/_members/animate/scene/v2/builders.d.ts +170 -0
  44. package/dist/_members/animate/scene/v2/finishes.d.ts +152 -0
  45. package/dist/_members/animate/scene/v2/lighting.d.ts +119 -0
  46. package/dist/_members/animate/scene/v2/observePmremTargets.d.ts +4 -0
  47. package/dist/_members/animate/scene/v2/preparationFacts.d.ts +32 -0
  48. package/dist/_members/animate/scene/v2/preparedSurface.d.ts +17 -0
  49. package/dist/_members/animate/scene/v2/projectedResolution.d.ts +2 -0
  50. package/dist/_members/animate/scene/v2/renderTargetObserver.d.ts +5 -0
  51. package/dist/_members/animate/scene/v2/runtimeAllocations.d.ts +55 -0
  52. package/dist/_members/animate/scene/v2/shadow.d.ts +23 -0
  53. package/dist/_members/animate/scene/v2/slabGeometry.d.ts +134 -0
  54. package/dist/_members/animate/scene/v2/slots.d.ts +73 -0
  55. package/dist/_members/animate/scene/v2/videoBinding.d.ts +39 -0
  56. package/dist/_members/animate/scene/worldBounds.d.ts +19 -0
  57. package/dist/_members/animate/scene/worldTextRaster.d.ts +87 -0
  58. package/dist/_members/animate/scene/worldTextTexture.d.ts +32 -0
  59. package/dist/_members/animate/stage/PerspectiveStage.d.ts +73 -0
  60. package/dist/_members/animate/stage/camera.d.ts +143 -0
  61. package/dist/_members/animate/stage/dof.d.ts +9 -0
  62. package/dist/_members/animate/stage/index.d.ts +6 -0
  63. package/dist/_members/animate/stage/presets.d.ts +17 -0
  64. package/dist/_members/animate/three/DeviceMesh.d.ts +256 -0
  65. package/dist/_members/animate/three/SceneCameraRig.d.ts +12 -0
  66. package/dist/_members/animate/three/StageCameraRig.d.ts +7 -0
  67. package/dist/_members/animate/three/StudioRig.d.ts +228 -0
  68. package/dist/_members/animate/three/ThreeCanvas.d.ts +22 -0
  69. package/dist/_members/animate/three/defaultScreen.d.ts +23 -0
  70. package/dist/_members/animate/three/index.d.ts +7 -1
  71. package/dist/_members/animate/three/textureLifecycle.d.ts +29 -0
  72. package/dist/_members/animate/three/toneMapping.d.ts +113 -0
  73. package/dist/_members/animate/three/useImageTexture.d.ts +17 -0
  74. package/dist/_members/authoring/index.d.ts +2 -0
  75. package/dist/_members/authoring/scene/index.d.ts +6 -0
  76. package/dist/_members/authoring/scene/materialize.d.ts +47 -0
  77. package/dist/_members/authoring/scene/validate.d.ts +80 -0
  78. package/dist/_members/authoring/scene/wrapper.d.ts +41 -0
  79. package/dist/_members/component-runtime/allowedImports.d.ts +3 -0
  80. package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -0
  81. package/dist/_members/component-runtime/bake.d.ts +8 -0
  82. package/dist/_members/component-runtime/bake.d.ts.map +1 -1
  83. package/dist/_members/component-runtime/browserFirewall.d.ts +7 -1
  84. package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -1
  85. package/dist/_members/component-runtime/browserOptions.d.ts +59 -3
  86. package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -1
  87. package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
  88. package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
  89. package/dist/_members/component-runtime/contracts.d.ts +341 -1
  90. package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
  91. package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts +5 -0
  92. package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts.map +1 -0
  93. package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts +5 -0
  94. package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts.map +1 -0
  95. package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts +8 -0
  96. package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts.map +1 -0
  97. package/dist/_members/component-runtime/importPolicy.d.ts +3 -2
  98. package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
  99. package/dist/_members/component-runtime/index.d.ts +3 -0
  100. package/dist/_members/component-runtime/index.d.ts.map +1 -1
  101. package/dist/_members/component-runtime/livePreviewProxy.d.ts +7 -0
  102. package/dist/_members/component-runtime/livePreviewProxy.d.ts.map +1 -0
  103. package/dist/_members/component-runtime/localRoot.d.ts +37 -0
  104. package/dist/_members/component-runtime/localRoot.d.ts.map +1 -0
  105. package/dist/_members/component-runtime/mediaResolution.d.ts +25 -0
  106. package/dist/_members/component-runtime/mediaResolution.d.ts.map +1 -0
  107. package/dist/_members/component-runtime/render.d.ts +151 -13
  108. package/dist/_members/component-runtime/render.d.ts.map +1 -1
  109. package/dist/_members/component-runtime/renderDiagnostics.d.ts +14 -0
  110. package/dist/_members/component-runtime/renderDiagnostics.d.ts.map +1 -0
  111. package/dist/_members/component-runtime/sceneAdmission.d.ts +47 -0
  112. package/dist/_members/component-runtime/sceneAdmission.d.ts.map +1 -0
  113. package/dist/_members/component-runtime/sourceWorkspace.d.ts +8 -0
  114. package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -1
  115. package/dist/_members/component-runtime/webglProbe.d.ts +191 -0
  116. package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -0
  117. package/dist/_members/composition/fonts/bundledFaces.d.ts +150 -0
  118. package/dist/_members/composition/fonts/captionFaces.d.ts +268 -0
  119. package/dist/_members/composition/fonts.d.ts +11 -4
  120. package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
  121. package/dist/_members/composition/ops/types.d.ts +1 -1
  122. package/dist/_members/composition/primitive-catalog/types.d.ts +1 -0
  123. package/dist/_members/composition/projection/behind-readiness.d.ts +3 -0
  124. package/dist/_members/composition/projection/brandKit.d.ts +6 -0
  125. package/dist/_members/composition/projection/composition-floor.d.ts +2 -1
  126. package/dist/_members/composition/scene/animation.d.ts +25 -0
  127. package/dist/_members/composition/scene/budget.d.ts +29 -0
  128. package/dist/_members/composition/scene/budgetPolicy.d.mts +13 -0
  129. package/dist/_members/composition/scene/clipRules.d.ts +119 -0
  130. package/dist/_members/composition/scene/constraints.d.ts +61 -0
  131. package/dist/_members/composition/scene/device.d.ts +21 -0
  132. package/dist/_members/composition/scene/examples.d.ts +11 -0
  133. package/dist/_members/composition/scene/index.d.ts +11 -0
  134. package/dist/_members/composition/scene/photographicRig.d.ts +242 -0
  135. package/dist/_members/composition/scene/preparedRender.d.ts +239 -0
  136. package/dist/_members/composition/scene/resolution.d.ts +178 -0
  137. package/dist/_members/composition/scene/schema.d.ts +351 -0
  138. package/dist/_members/composition/scene/videoSchedule.d.ts +43 -0
  139. package/dist/_members/composition/validators/brandKit.d.ts +1 -0
  140. package/dist/_members/composition/validators/render.d.ts +2 -0
  141. package/dist/_members/composition-ops/index.d.ts +45 -0
  142. package/dist/_members/composition-ops/opRecorder.d.ts +1 -1
  143. package/dist/_members/core/render/compositionRender.d.ts +41 -9
  144. package/dist/_members/core/render/index.d.ts +9 -2
  145. package/dist/_members/core/render/sceneCaptureIdentity.d.ts +14 -0
  146. package/dist/_members/core/render/sceneShotPlan.d.ts +142 -0
  147. package/dist/_members/core/render/sceneShotPreparation.d.ts +57 -0
  148. package/dist/_members/core/render/slabDescriptor.d.ts +21 -0
  149. package/dist/_members/core/render/trackProjection.d.ts +33 -0
  150. package/dist/_members/core/render/types.d.ts +142 -0
  151. package/dist/_members/errors/registry.d.ts +6 -0
  152. package/dist/_members/mcp/adapter.d.ts +5 -0
  153. package/dist/_members/mcp/generated/sceneContract.d.ts +155 -0
  154. package/dist/_members/mcp/sceneShot.d.ts +38 -0
  155. package/dist/_members/mcp/sceneShotExample.d.ts +22 -0
  156. package/dist/_members/media-model/api.d.ts +1 -0
  157. package/dist/_members/media-model/media-kind.d.ts +1 -1
  158. package/dist/_members/media-model/testing/mediaStoreContract.d.ts +1 -1
  159. package/dist/_members/primitives/effects/index.d.ts +1 -0
  160. package/dist/_members/primitives/effects/stage-camera/config.d.ts +50 -0
  161. package/dist/_members/primitives/effects/stage-camera/index.d.ts +31 -0
  162. package/dist/_members/primitives/layouts/flex-layout/config.d.ts +73 -0
  163. package/dist/_members/primitives/layouts/flex-layout/index.d.ts +4 -0
  164. package/dist/_members/primitives/layouts/index.d.ts +1 -0
  165. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +1 -1
  166. package/dist/_members/primitives/lib/frameScale.d.ts +4 -0
  167. package/dist/_members/primitives/lib/index.d.ts +1 -0
  168. package/dist/_members/primitives/lib/palette.d.ts +30 -30
  169. package/dist/_members/primitives/lib/text/contrast.d.ts +2 -1
  170. package/dist/_members/primitives/lib/text/spec.d.ts +0 -8
  171. package/dist/_members/primitives/lib/types.d.ts +2 -0
  172. package/dist/_members/primitives/scenes/device-showcase/config.d.ts +41 -0
  173. package/dist/_members/primitives/scenes/device-showcase/index.d.ts +36 -0
  174. package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +1 -0
  175. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +2 -1
  176. package/dist/_members/primitives/scenes/index.d.ts +1 -0
  177. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +1 -1
  178. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +1 -0
  179. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +2 -1
  180. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +1 -1
  181. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +1 -1
  182. package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
  183. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  184. package/dist/_members/render-harness/css-tree-subpaths.d.ts +11 -0
  185. package/dist/_members/render-harness/extractSegments.d.ts +1 -0
  186. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  187. package/dist/_members/render-harness/imageHeader.d.ts +14 -0
  188. package/dist/_members/render-harness/imageHeader.d.ts.map +1 -0
  189. package/dist/_members/render-harness/index.d.ts +6 -0
  190. package/dist/_members/render-harness/index.d.ts.map +1 -1
  191. package/dist/_members/render-harness/materializeSources.d.ts +46 -2
  192. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  193. package/dist/_members/render-harness/nodeScenePreparation.d.ts +97 -0
  194. package/dist/_members/render-harness/nodeScenePreparation.d.ts.map +1 -0
  195. package/dist/_members/render-harness/remotion-runtime.d.ts +16 -2
  196. package/dist/_members/render-harness/renderInputAssets.d.ts +1 -1
  197. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  198. package/dist/_members/render-harness/resolveAssets.d.ts +2 -2
  199. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  200. package/dist/_members/render-harness/sceneShotAssets.d.ts +17 -0
  201. package/dist/_members/render-harness/sceneShotAssets.d.ts.map +1 -0
  202. package/dist/animate/preparation-facts.d.ts +1 -0
  203. package/dist/animate/preparation-facts.js +22 -0
  204. package/dist/animate.js +336 -1005
  205. package/dist/authoring/build-tools.js +7 -6
  206. package/dist/authoring/context.js +5 -4
  207. package/dist/authoring/prompts.js +1 -1
  208. package/dist/authoring/scene.d.ts +1 -0
  209. package/dist/authoring/scene.js +50 -0
  210. package/dist/authoring/tools.js +6 -5
  211. package/dist/authoring.js +49 -29
  212. package/dist/chunk-2L7PYYJK.js +23 -0
  213. package/dist/{chunk-ZN6P3KOJ.js → chunk-32TH76H3.js} +2 -2
  214. package/dist/chunk-5DJ3IEJR.js +4424 -0
  215. package/dist/chunk-6BVVCRRD.js +26488 -0
  216. package/dist/{chunk-DQKSCHFC.js → chunk-6EWRIAZA.js} +187 -66
  217. package/dist/{chunk-YQ7FFW3G.js → chunk-6VWICHOZ.js} +26 -5
  218. package/dist/{chunk-2PGLNTB7.js → chunk-A74FZCPY.js} +45 -5
  219. package/dist/{chunk-C5SEPOWD.js → chunk-AS5EXBNS.js} +1792 -707
  220. package/dist/{chunk-BKHGL4MB.js → chunk-B3GSTQLR.js} +341 -274
  221. package/dist/chunk-BVA3537Z.js +63 -0
  222. package/dist/{chunk-DHKQ47Q6.js → chunk-DAARYRNT.js} +6 -1
  223. package/dist/chunk-DQLYWNLC.js +2063 -0
  224. package/dist/chunk-E6WHXIDF.js +3619 -0
  225. package/dist/{chunk-NOEBAV2G.js → chunk-E7GIZEPS.js} +1 -1
  226. package/dist/{chunk-M2TLRXEO.js → chunk-EXY4JJPH.js} +1 -1
  227. package/dist/{chunk-GEGRJKKO.js → chunk-F2DJL7P7.js} +1 -1
  228. package/dist/{chunk-AWT3P5ZN.js → chunk-FVDFPJHT.js} +1 -1
  229. package/dist/{chunk-EMGFZ3PR.js → chunk-FWSJLHSV.js} +5 -1
  230. package/dist/{chunk-TMIBBD5E.js → chunk-I5QWBM3M.js} +280 -113
  231. package/dist/{chunk-IBMJ33EL.js → chunk-I5RX2QZT.js} +1 -1
  232. package/dist/{chunk-4FOOBSEE.js → chunk-J3DIUG24.js} +1 -0
  233. package/dist/{chunk-AD5HWBCE.js → chunk-JX53CVJV.js} +14 -5
  234. package/dist/{chunk-LNBVTDFR.js → chunk-L2AHS3AW.js} +1 -1
  235. package/dist/{chunk-BDMTUEEZ.js → chunk-LT4PWSR2.js} +2 -2
  236. package/dist/chunk-MH3UPKWR.js +3415 -0
  237. package/dist/{chunk-RFXR7ATW.js → chunk-NUKDEOK6.js} +13 -1
  238. package/dist/{chunk-IJ7PVJTK.js → chunk-ODUWCQI3.js} +3 -2
  239. package/dist/chunk-QAGGJHAF.js +16 -0
  240. package/dist/chunk-QS36DMFG.js +332 -0
  241. package/dist/{chunk-G5BFI32U.js → chunk-RAXHCRVV.js} +1 -1
  242. package/dist/{chunk-BIBYZJL3.js → chunk-RL5SO653.js} +3 -3
  243. package/dist/{chunk-ZSZABOE5.js → chunk-S5H6GH6M.js} +1 -1
  244. package/dist/{chunk-EEXCDFY5.js → chunk-SD25VQDE.js} +1 -1
  245. package/dist/{chunk-Y3QGYASW.js → chunk-SX523NDS.js} +14 -14
  246. package/dist/chunk-TARKDVP6.js +430 -0
  247. package/dist/{chunk-IHFREGFA.js → chunk-TCHPRGC5.js} +18 -2
  248. package/dist/{chunk-ZCAQHNPI.js → chunk-UKGNHZS4.js} +1 -1
  249. package/dist/{chunk-KU376ELE.js → chunk-UY77TMKD.js} +31 -44
  250. package/dist/chunk-VKATKWWR.js +1462 -0
  251. package/dist/{chunk-CX2IIQ4R.js → chunk-W2245F6G.js} +29 -29
  252. package/dist/{chunk-XHUYWVYK.js → chunk-WBNFSG6T.js} +1 -1
  253. package/dist/chunk-WIHXXF3X.js +221 -0
  254. package/dist/{chunk-XVBOSPZI.js → chunk-X74EEFXV.js} +6 -6
  255. package/dist/{chunk-7KEUL3FI.js → chunk-XF2QMKRG.js} +9 -1
  256. package/dist/{chunk-HFC3MKXA.js → chunk-Y4HPN4BC.js} +1 -0
  257. package/dist/{chunk-6XI57FZZ.js → chunk-YFSBFCXO.js} +1022 -46
  258. package/dist/{chunk-6ID2J64H.js → chunk-YHC3RXS7.js} +162 -25
  259. package/dist/{chunk-KKEY5MIW.js → chunk-ZS3A3QUM.js} +16 -16
  260. package/dist/{chunk-LQUWKBST.js → chunk-ZVG446DJ.js} +139 -10
  261. package/dist/component-runtime/browserOptions.js +14 -3
  262. package/dist/component-runtime/contracts.js +35 -3
  263. package/dist/component-runtime/identity/browser.js +1 -1
  264. package/dist/component-runtime/identity.js +2 -2
  265. package/dist/component-runtime/importPolicy.js +2 -2
  266. package/dist/component-runtime/mediaResolution.d.ts +1 -0
  267. package/dist/component-runtime/mediaResolution.js +11 -0
  268. package/dist/component-runtime/render.js +38 -5
  269. package/dist/component-runtime.js +118 -14
  270. package/dist/compose.js +27 -21
  271. package/dist/composition/fonts.js +64 -67
  272. package/dist/composition/graphics-plan.js +3 -2
  273. package/dist/composition/ops.js +4 -3
  274. package/dist/composition/primitive-catalog.js +1 -1
  275. package/dist/composition/projection.js +10 -3
  276. package/dist/composition/scene/budget-policy.d.ts +1 -0
  277. package/dist/composition/scene/budget-policy.js +17 -0
  278. package/dist/composition/scene/schema.json +2757 -0
  279. package/dist/composition/scene.d.ts +1 -0
  280. package/dist/composition/scene.js +275 -0
  281. package/dist/composition/validators.js +3 -2
  282. package/dist/composition-ops.js +103 -13
  283. package/dist/composition.js +12 -5
  284. package/dist/{context-4GSDBFT3.js → context-IUPQ54V4.js} +5 -4
  285. package/dist/core/render.js +54 -3
  286. package/dist/core/select.js +2 -2
  287. package/dist/core.js +6 -3
  288. package/dist/director/ai-sdk.js +3 -3
  289. package/dist/director/domain.js +2 -2
  290. package/dist/director.js +3 -3
  291. package/dist/errors.js +1 -1
  292. package/dist/mcp/adapter.js +4 -4
  293. package/dist/mcp/core.js +1 -1
  294. package/dist/mcp/curation.js +1 -1
  295. package/dist/mcp/server.js +4 -4
  296. package/dist/mcp.js +4 -4
  297. package/dist/media-model/media-kind.js +2 -0
  298. package/dist/media-model/testing.js +16 -11
  299. package/dist/media-model.js +1 -1
  300. package/dist/nle-export.js +27 -21
  301. package/dist/primitives/backgrounds.js +2 -2
  302. package/dist/primitives/captions.js +21 -11
  303. package/dist/primitives/effects.js +14 -4
  304. package/dist/primitives/graphics.json +3 -0
  305. package/dist/primitives/hero-text.js +4 -3
  306. package/dist/primitives/layouts.js +9 -2
  307. package/dist/primitives/lib/frameScale.d.ts +1 -0
  308. package/dist/primitives/lib/frameScale.js +11 -0
  309. package/dist/primitives/lib/index.js +18 -10
  310. package/dist/primitives/lib/palette.js +1 -1
  311. package/dist/primitives/lib/text/contrast.js +2 -1
  312. package/dist/primitives/lib/text/typeface.js +1 -1
  313. package/dist/primitives/lib.js +18 -10
  314. package/dist/primitives/params-required.json +3 -0
  315. package/dist/primitives/scenes.js +12 -3
  316. package/dist/primitives/text.js +5 -5
  317. package/dist/primitives/transitions.js +2 -2
  318. package/dist/primitives/ui-blocks.js +7 -6
  319. package/dist/primitives/version-map.json +5 -2
  320. package/dist/primitives.js +27 -20
  321. package/dist/render-harness/cardAssetAdmission.js +2 -2
  322. package/dist/render-harness/renderInputAssets.js +2 -2
  323. package/dist/render-harness.js +876 -126
  324. package/package.json +51 -17
  325. package/dist/_members/animate/three/drei.d.ts +0 -6
  326. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +0 -9
  327. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +0 -1
  328. package/dist/chunk-4JRUGT2Y.js +0 -544
  329. package/dist/chunk-5OTQ7M43.js +0 -718
  330. package/dist/chunk-CGHTMZNC.js +0 -6
  331. package/dist/chunk-QBKDEO7J.js +0 -9521
  332. /package/dist/{chunk-H5LMJKZU.js → chunk-JVDUSOYG.js} +0 -0
@@ -0,0 +1 @@
1
+ export * from "../_members/composition/scene/index.js";
@@ -0,0 +1,275 @@
1
+ import {
2
+ ALLOWED_BAKE_SCALES,
3
+ DEFAULT_BAKE_SCALE,
4
+ PHOTOGRAPHIC_STUDIO_EDGE_INTENSITY,
5
+ PHOTOGRAPHIC_STUDIO_EDGE_LIGHTS,
6
+ PHOTOGRAPHIC_STUDIO_GPU_BYTES,
7
+ PHOTOGRAPHIC_STUDIO_HDRI_BYTES,
8
+ PHOTOGRAPHIC_STUDIO_HDRI_PATH,
9
+ PHOTOGRAPHIC_STUDIO_HDRI_SHA256,
10
+ PHOTOGRAPHIC_STUDIO_LIGHTING_VERSION,
11
+ PHOTOGRAPHIC_STUDIO_PMREM_VERSION,
12
+ PHOTOGRAPHIC_STUDIO_RIG_FACTS,
13
+ PHOTOGRAPHIC_STUDIO_RIG_ID,
14
+ RESOLUTION_BOUND,
15
+ SCENE_ASSET_SLOT_PATTERN,
16
+ SCENE_BRAND_COLOR_TOKENS,
17
+ SCENE_BRAND_FONT_TOKENS,
18
+ SCENE_CAMERA_PROPERTIES,
19
+ SCENE_CAPTURE_IDENTITY_FIELDS_V1,
20
+ SCENE_CHANNEL_PROPERTIES,
21
+ SCENE_DEVICE_SCREEN_OFFSET_V1,
22
+ SCENE_ENVIRONMENT_PROPERTIES,
23
+ SCENE_FOCUS_PROPERTIES,
24
+ SCENE_FONT_FAMILY_PATTERN,
25
+ SCENE_FOV_MAX,
26
+ SCENE_FOV_MIN,
27
+ SCENE_LAPTOP_PROPERTIES,
28
+ SCENE_LAYER_ID_PATTERN,
29
+ SCENE_MAX_GROUP_DEPTH,
30
+ SCENE_MAX_KEYFRAMES_PER_CHANNEL,
31
+ SCENE_MAX_KEYFRAMES_PER_SHOT,
32
+ SCENE_MAX_LAYERS,
33
+ SCENE_MAX_SURFACES,
34
+ SCENE_PRESET_MATERIAL_ROLES,
35
+ SCENE_PRESET_SLOTS,
36
+ SCENE_PRESET_TRIANGLES,
37
+ SCENE_SCREEN_TEXT_PROPERTIES,
38
+ SCENE_SHOT_EXAMPLES,
39
+ SCENE_SHOT_SPEC_VERSION,
40
+ SCENE_SLAB_BODY_TRIANGLES,
41
+ SCENE_SLAB_CONTENT_FACE_TRIANGLES,
42
+ SCENE_SLAB_CONTENT_OFFSET,
43
+ SCENE_TESSELLATION_VERSION,
44
+ SCENE_TRANSITION_KINDS,
45
+ SCENE_WORLD_OBJECT_PROPERTIES,
46
+ STUDIO_SHADOW_MAP_BUDGET,
47
+ SceneAdmittedFontFamily,
48
+ SceneAssetSlot,
49
+ SceneBackdropV2,
50
+ SceneBrandColorRef,
51
+ SceneBrandFontRef,
52
+ SceneCameraInputV2,
53
+ SceneCameraV2,
54
+ SceneChannelTargetV2,
55
+ SceneChannelV2,
56
+ SceneColor,
57
+ SceneConstraintRefusal,
58
+ SceneConstraintV2,
59
+ SceneEasingV2,
60
+ SceneFocusV2,
61
+ SceneFontFamily,
62
+ SceneHexColor,
63
+ SceneKeyframeV2,
64
+ SceneLayerId,
65
+ SceneMaterialOverrideV2,
66
+ SceneObjectV2,
67
+ ScenePostV2,
68
+ ScenePreparedPlanRefusal,
69
+ SceneReferenceSizeV2,
70
+ SceneResolutionRefusal,
71
+ SceneRigV2,
72
+ SceneShotSpecV2,
73
+ SceneSurfaceBindingV2,
74
+ SceneTransformV2,
75
+ SceneVideoAdmissionRefusal,
76
+ assertSceneShotExamplesValid,
77
+ canonicalScenePreparedJsonV1,
78
+ canonicalSceneVideoRateV1,
79
+ checkSurfaceResolution,
80
+ collectSceneClipIssues,
81
+ contentFrame,
82
+ cubicBezierEase,
83
+ evaluateChannel,
84
+ evaluateScene,
85
+ evaluateSceneSeparationV2,
86
+ isSceneShotClip,
87
+ isSceneShotSource,
88
+ isTimelineClip,
89
+ normalizedTime,
90
+ offFrameLattice,
91
+ parseSceneShotSpecV2,
92
+ parseSealedSceneShotPlanV1,
93
+ photographicSceneRigFactsV1,
94
+ photographicStudioPreparationFactsV1,
95
+ prepareSceneVideoScheduleV1,
96
+ projectToOutputPixels,
97
+ projectedSlotEdges,
98
+ readSceneSourceRef,
99
+ sceneCameraPlanesV2,
100
+ sceneClipOverlapIssue,
101
+ sceneClipShapeIssues,
102
+ sceneDedicatedTrackIssue,
103
+ sceneDeviceDimensionsV1,
104
+ sceneFocusPreparationAllocationsV1,
105
+ sceneFullMipLevels,
106
+ sceneLaptopLayoutV1,
107
+ sceneLaptopScreenQuadV1,
108
+ sceneMipTexels,
109
+ sceneOrientedBoundsV2,
110
+ sceneRotationAxesV2,
111
+ sceneSeparatingAxisGapV2,
112
+ sceneShotExample,
113
+ sceneShotImageSlots,
114
+ sceneShotJsonSchema,
115
+ sceneShotJsonSchemaText,
116
+ sceneShotSurfaceCount,
117
+ sceneShotVideoSlots,
118
+ sceneSpecIssues,
119
+ sceneTextureBytes,
120
+ sceneTransformMatrix,
121
+ sceneTransitionDurationIssues,
122
+ sceneTriangleCount,
123
+ sceneVideoMidpointAddressV1,
124
+ sceneVideoSourceIndexV1,
125
+ sceneW5GeneratedRigAllocationsV1,
126
+ sceneW5PresetAllocationsV1,
127
+ sceneW5WorldTextAllocationsV1,
128
+ selectSceneBakeScale,
129
+ verifySceneVideoPresentationIndexV1,
130
+ verifySealedSceneShotPlanV1
131
+ } from "../chunk-MH3UPKWR.js";
132
+ import {
133
+ MIB,
134
+ SCENE_CONTEXT_GL_BUDGET_BYTES,
135
+ SCENE_MAX_TRIANGLES,
136
+ SCENE_RENDER_JOB_BUDGET_BYTES,
137
+ SCENE_SURFACE_TEXTURE_BUDGET_BYTES
138
+ } from "../chunk-2L7PYYJK.js";
139
+ import "../chunk-2ESYSVXG.js";
140
+ export {
141
+ ALLOWED_BAKE_SCALES,
142
+ DEFAULT_BAKE_SCALE,
143
+ MIB,
144
+ PHOTOGRAPHIC_STUDIO_EDGE_INTENSITY,
145
+ PHOTOGRAPHIC_STUDIO_EDGE_LIGHTS,
146
+ PHOTOGRAPHIC_STUDIO_GPU_BYTES,
147
+ PHOTOGRAPHIC_STUDIO_HDRI_BYTES,
148
+ PHOTOGRAPHIC_STUDIO_HDRI_PATH,
149
+ PHOTOGRAPHIC_STUDIO_HDRI_SHA256,
150
+ PHOTOGRAPHIC_STUDIO_LIGHTING_VERSION,
151
+ PHOTOGRAPHIC_STUDIO_PMREM_VERSION,
152
+ PHOTOGRAPHIC_STUDIO_RIG_FACTS,
153
+ PHOTOGRAPHIC_STUDIO_RIG_ID,
154
+ RESOLUTION_BOUND,
155
+ SCENE_ASSET_SLOT_PATTERN,
156
+ SCENE_BRAND_COLOR_TOKENS,
157
+ SCENE_BRAND_FONT_TOKENS,
158
+ SCENE_CAMERA_PROPERTIES,
159
+ SCENE_CAPTURE_IDENTITY_FIELDS_V1,
160
+ SCENE_CHANNEL_PROPERTIES,
161
+ SCENE_CONTEXT_GL_BUDGET_BYTES,
162
+ SCENE_DEVICE_SCREEN_OFFSET_V1,
163
+ SCENE_ENVIRONMENT_PROPERTIES,
164
+ SCENE_FOCUS_PROPERTIES,
165
+ SCENE_FONT_FAMILY_PATTERN,
166
+ SCENE_FOV_MAX,
167
+ SCENE_FOV_MIN,
168
+ SCENE_LAPTOP_PROPERTIES,
169
+ SCENE_LAYER_ID_PATTERN,
170
+ SCENE_MAX_GROUP_DEPTH,
171
+ SCENE_MAX_KEYFRAMES_PER_CHANNEL,
172
+ SCENE_MAX_KEYFRAMES_PER_SHOT,
173
+ SCENE_MAX_LAYERS,
174
+ SCENE_MAX_SURFACES,
175
+ SCENE_MAX_TRIANGLES,
176
+ SCENE_PRESET_MATERIAL_ROLES,
177
+ SCENE_PRESET_SLOTS,
178
+ SCENE_PRESET_TRIANGLES,
179
+ SCENE_RENDER_JOB_BUDGET_BYTES,
180
+ SCENE_SCREEN_TEXT_PROPERTIES,
181
+ SCENE_SHOT_EXAMPLES,
182
+ SCENE_SHOT_SPEC_VERSION,
183
+ SCENE_SLAB_BODY_TRIANGLES,
184
+ SCENE_SLAB_CONTENT_FACE_TRIANGLES,
185
+ SCENE_SLAB_CONTENT_OFFSET,
186
+ SCENE_SURFACE_TEXTURE_BUDGET_BYTES,
187
+ SCENE_TESSELLATION_VERSION,
188
+ SCENE_TRANSITION_KINDS,
189
+ SCENE_WORLD_OBJECT_PROPERTIES,
190
+ STUDIO_SHADOW_MAP_BUDGET,
191
+ SceneAdmittedFontFamily,
192
+ SceneAssetSlot,
193
+ SceneBackdropV2,
194
+ SceneBrandColorRef,
195
+ SceneBrandFontRef,
196
+ SceneCameraInputV2,
197
+ SceneCameraV2,
198
+ SceneChannelTargetV2,
199
+ SceneChannelV2,
200
+ SceneColor,
201
+ SceneConstraintRefusal,
202
+ SceneConstraintV2,
203
+ SceneEasingV2,
204
+ SceneFocusV2,
205
+ SceneFontFamily,
206
+ SceneHexColor,
207
+ SceneKeyframeV2,
208
+ SceneLayerId,
209
+ SceneMaterialOverrideV2,
210
+ SceneObjectV2,
211
+ ScenePostV2,
212
+ ScenePreparedPlanRefusal,
213
+ SceneReferenceSizeV2,
214
+ SceneResolutionRefusal,
215
+ SceneRigV2,
216
+ SceneShotSpecV2,
217
+ SceneSurfaceBindingV2,
218
+ SceneTransformV2,
219
+ SceneVideoAdmissionRefusal,
220
+ assertSceneShotExamplesValid,
221
+ canonicalScenePreparedJsonV1,
222
+ canonicalSceneVideoRateV1,
223
+ checkSurfaceResolution,
224
+ collectSceneClipIssues,
225
+ contentFrame,
226
+ cubicBezierEase,
227
+ evaluateChannel,
228
+ evaluateScene,
229
+ evaluateSceneSeparationV2,
230
+ isSceneShotClip,
231
+ isSceneShotSource,
232
+ isTimelineClip,
233
+ normalizedTime,
234
+ offFrameLattice,
235
+ parseSceneShotSpecV2,
236
+ parseSealedSceneShotPlanV1,
237
+ photographicSceneRigFactsV1,
238
+ photographicStudioPreparationFactsV1,
239
+ prepareSceneVideoScheduleV1,
240
+ projectToOutputPixels,
241
+ projectedSlotEdges,
242
+ readSceneSourceRef,
243
+ sceneCameraPlanesV2,
244
+ sceneClipOverlapIssue,
245
+ sceneClipShapeIssues,
246
+ sceneDedicatedTrackIssue,
247
+ sceneDeviceDimensionsV1,
248
+ sceneFocusPreparationAllocationsV1,
249
+ sceneFullMipLevels,
250
+ sceneLaptopLayoutV1,
251
+ sceneLaptopScreenQuadV1,
252
+ sceneMipTexels,
253
+ sceneOrientedBoundsV2,
254
+ sceneRotationAxesV2,
255
+ sceneSeparatingAxisGapV2,
256
+ sceneShotExample,
257
+ sceneShotImageSlots,
258
+ sceneShotJsonSchema,
259
+ sceneShotJsonSchemaText,
260
+ sceneShotSurfaceCount,
261
+ sceneShotVideoSlots,
262
+ sceneSpecIssues,
263
+ sceneTextureBytes,
264
+ sceneTransformMatrix,
265
+ sceneTransitionDurationIssues,
266
+ sceneTriangleCount,
267
+ sceneVideoMidpointAddressV1,
268
+ sceneVideoSourceIndexV1,
269
+ sceneW5GeneratedRigAllocationsV1,
270
+ sceneW5PresetAllocationsV1,
271
+ sceneW5WorldTextAllocationsV1,
272
+ selectSceneBakeScale,
273
+ verifySceneVideoPresentationIndexV1,
274
+ verifySealedSceneShotPlanV1
275
+ };
@@ -48,7 +48,7 @@ import {
48
48
  WebhookDeliveryStatus,
49
49
  WebhookDestination,
50
50
  YoutubeDestination
51
- } from "../chunk-IHFREGFA.js";
51
+ } from "../chunk-TCHPRGC5.js";
52
52
  import {
53
53
  ANIMATABLE_PARAMS,
54
54
  AlphaLayerClipSource,
@@ -82,7 +82,7 @@ import {
82
82
  Transition,
83
83
  captionWords,
84
84
  captionsAreBehindSubject
85
- } from "../chunk-7KEUL3FI.js";
85
+ } from "../chunk-XF2QMKRG.js";
86
86
  import {
87
87
  AUTHORED_GRAPHIC_KINDS
88
88
  } from "../chunk-WPZKOVYF.js";
@@ -93,6 +93,7 @@ import {
93
93
  ReframeSegmentFields
94
94
  } from "../chunk-2B5VJZHL.js";
95
95
  import "../chunk-WREYUH2E.js";
96
+ import "../chunk-TARKDVP6.js";
96
97
  import "../chunk-2ESYSVXG.js";
97
98
  export {
98
99
  ANIMATABLE_PARAMS,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  playableSpans
3
- } from "./chunk-6XI57FZZ.js";
3
+ } from "./chunk-YFSBFCXO.js";
4
4
  import "./chunk-QH3YI3ND.js";
5
- import "./chunk-LNBVTDFR.js";
6
5
  import "./chunk-QISFYLBB.js";
6
+ import "./chunk-L2AHS3AW.js";
7
7
  import "./chunk-VZ7TYX6Z.js";
8
8
  import "./chunk-DENF4TPI.js";
9
9
  import {
@@ -11,8 +11,8 @@ import {
11
11
  findClipById,
12
12
  findMarkerById,
13
13
  findTrackContainingClipId
14
- } from "./chunk-IBMJ33EL.js";
15
- import "./chunk-IHFREGFA.js";
14
+ } from "./chunk-I5RX2QZT.js";
15
+ import "./chunk-TCHPRGC5.js";
16
16
  import {
17
17
  CaptionSegment,
18
18
  CaptionStyle,
@@ -21,8 +21,9 @@ import {
21
21
  Marker,
22
22
  PerClipEffect,
23
23
  TimelineClip,
24
- Track
25
- } from "./chunk-7KEUL3FI.js";
24
+ Track,
25
+ Transition
26
+ } from "./chunk-XF2QMKRG.js";
26
27
  import "./chunk-WPZKOVYF.js";
27
28
  import {
28
29
  ReframeSegment
@@ -30,7 +31,14 @@ import {
30
31
  import "./chunk-KYRDKK2D.js";
31
32
  import "./chunk-WREYUH2E.js";
32
33
  import "./chunk-7PA7FGLD.js";
33
- import "./chunk-4FOOBSEE.js";
34
+ import "./chunk-J3DIUG24.js";
35
+ import {
36
+ introducedCaptionFaceIssues
37
+ } from "./chunk-TARKDVP6.js";
38
+ import {
39
+ SceneShotSpecV2
40
+ } from "./chunk-MH3UPKWR.js";
41
+ import "./chunk-2L7PYYJK.js";
34
42
  import "./chunk-2ESYSVXG.js";
35
43
 
36
44
  // ../composition-ops/src/index.ts
@@ -40,6 +48,11 @@ import { z } from "zod";
40
48
  var genTrackId = (kind) => `track-${kind}-${crypto.randomUUID().slice(0, 8)}`;
41
49
  function wrapWithOpRecorder(base, opts) {
42
50
  const { record, getComposition } = opts;
51
+ const captionTarget = {
52
+ getState: () => ({ composition: getComposition() }),
53
+ setCaptionStyle: (style) => base.setCaptionStyle(style),
54
+ setCaptions: (segments, style) => base.setCaptions(segments, style)
55
+ };
43
56
  const wrapped = {
44
57
  addClip: (clip, options) => {
45
58
  const before = getComposition();
@@ -144,13 +157,26 @@ function wrapWithOpRecorder(base, opts) {
144
157
  record({ type: "setEffects", clipId, effects }, getComposition());
145
158
  base.setEffects(clipId, effects);
146
159
  },
160
+ // The two caption writes go through the same function `applyOpToStore` uses, so the op this
161
+ // journals is exactly the op a replay applies. Calling the store's setter directly left this
162
+ // lane — Studio's composition store and the in-app agent capability are built on it — able to
163
+ // write a face the op gate refuses and to journal an op `applyOp` would refuse on replay.
164
+ // The op is applied FIRST: a refusal must leave nothing in the journal.
147
165
  setCaptionStyle: (style) => {
148
- record({ type: "setCaptionStyle", style }, getComposition());
149
- base.setCaptionStyle(style);
166
+ const before = getComposition();
167
+ const op = { type: "setCaptionStyle", style };
168
+ applyCaptionOpToStore(captionTarget, op);
169
+ record(op, before);
150
170
  },
151
171
  setCaptions: (segments, style) => {
152
- record({ type: "setCaptions", segments, ...style !== void 0 ? { style } : {} }, getComposition());
153
- base.setCaptions(segments, style);
172
+ const before = getComposition();
173
+ const op = {
174
+ type: "setCaptions",
175
+ segments,
176
+ ...style !== void 0 ? { style } : {}
177
+ };
178
+ applyCaptionOpToStore(captionTarget, op);
179
+ record(op, before);
154
180
  },
155
181
  setFormat: (format) => {
156
182
  record({ type: "setFormat", format }, getComposition());
@@ -421,6 +447,7 @@ function collectUnbakedComponentClips(composition) {
421
447
  }
422
448
 
423
449
  // ../composition-ops/src/index.ts
450
+ var SceneAssetBindings = z.record(z.string().min(1), z.string().min(1));
424
451
  function mediaFamily(mimeType) {
425
452
  const top = mimeType.split("/")[0]?.trim().toLowerCase();
426
453
  if (top === "video") return "video";
@@ -477,6 +504,32 @@ var CompositionOp = z.discriminatedUnion("type", [
477
504
  z.object({ type: z.literal("setCaptionDepth"), zPlane: z.enum(["front", "behind-subject"]) }).strict(),
478
505
  z.object({ type: z.literal("setCaptions"), segments: z.array(CaptionSegment), style: CaptionStyle.partial().optional() }).strict(),
479
506
  z.object({ type: z.literal("applyMotionPreset"), clipId: z.string(), preset: z.string(), params: z.object({ enterMs: z.number().optional(), exitMs: z.number().optional(), staggerMs: z.number().optional() }).strict().optional() }).strict(),
507
+ // Scene shots (spec §"Authoring, persistence, and discovery"). Route-materialized: the host
508
+ // registers the generated wrapper source through its component store and rewrites these to
509
+ // addTrack / clip.add / clip.update carrying `props.componentRef`; the agent edits a scene
510
+ // spec, never wrapper TSX or a hash. Exactly one of `trackId` (a dedicated overlay track) or
511
+ // `newTrack` (mint one) is required on `scene.add`.
512
+ z.object({
513
+ type: z.literal("scene.add"),
514
+ clipId: z.string().min(1),
515
+ trackId: z.string().min(1).optional(),
516
+ newTrack: z.boolean().optional(),
517
+ newTrackId: z.string().min(1).optional(),
518
+ startTime: z.number().nonnegative(),
519
+ duration: z.number().positive(),
520
+ transitionIn: Transition.optional(),
521
+ scene: SceneShotSpecV2,
522
+ assets: SceneAssetBindings
523
+ }).strict(),
524
+ z.object({
525
+ type: z.literal("scene.update"),
526
+ clipId: z.string().min(1),
527
+ startTime: z.number().nonnegative().optional(),
528
+ duration: z.number().positive().optional(),
529
+ transitionIn: Transition.optional(),
530
+ scene: SceneShotSpecV2.optional(),
531
+ assets: SceneAssetBindings.optional()
532
+ }).strict(),
480
533
  z.object({ type: z.literal("materializeGrid"), clipId: z.string(), grid: z.enum(["beat", "word", "shot"]), maxMarkers: z.number().int().positive().max(2e3).optional() }).strict(),
481
534
  z.object({
482
535
  type: z.literal("captions.fromTranscript"),
@@ -495,6 +548,29 @@ var CompositionOp = z.discriminatedUnion("type", [
495
548
  z.object({ type: z.literal("addExcludedRange"), clipId: z.string(), sourceStart: z.number(), sourceEnd: z.number(), reason: z.string().optional() }).strict(),
496
549
  z.object({ type: z.literal("removeExcludedRange"), clipId: z.string(), rangeIdx: z.number() }).strict()
497
550
  ]);
551
+ function mergedCaptionStyle(composition, patch) {
552
+ const existing = composition.captions?.style ?? {};
553
+ if (!patch) return existing;
554
+ const defined = Object.fromEntries(Object.entries(patch).filter(([, value]) => value !== void 0));
555
+ return { ...existing, ...defined };
556
+ }
557
+ function assertCaptionFacesDrawable(opType, composition, patch) {
558
+ const existing = composition.captions?.style ?? {};
559
+ const issues = introducedCaptionFaceIssues(existing, mergedCaptionStyle(composition, patch));
560
+ if (issues.length === 0) return;
561
+ throw new Error(
562
+ `${opType}: this edit introduces a caption face with no bytes behind it \u2014 ` + issues.map((issue) => `style.${issue.field}: ${issue.message}`).join(" ")
563
+ );
564
+ }
565
+ function applyCaptionOpToStore(store, op) {
566
+ const composition = store.getState().composition;
567
+ assertCaptionFacesDrawable(op.type, composition, op.style);
568
+ if (op.type === "setCaptionStyle") {
569
+ store.setCaptionStyle(op.style);
570
+ return;
571
+ }
572
+ store.setCaptions(op.segments, op.style);
573
+ }
498
574
  function applyOp(composition, op) {
499
575
  const store = createHeadlessStore(composition);
500
576
  applyOpToStore(store, op);
@@ -504,6 +580,12 @@ function applyOpToStore(store, op) {
504
580
  const composition = store.getState().composition;
505
581
  switch (op.type) {
506
582
  case "clip.add": {
583
+ if (findClipById(composition, op.clip.id)) {
584
+ throw new Error(`clip.add: clip '${op.clip.id}' already exists`);
585
+ }
586
+ if (op.newTrackId !== void 0 && composition.tracks.some((track) => track.id === op.newTrackId)) {
587
+ throw new Error(`clip.add: track '${op.newTrackId}' already exists`);
588
+ }
507
589
  if (op.trackId !== void 0) {
508
590
  const track = composition.tracks.find((t) => t.id === op.trackId);
509
591
  if (!track) throw new Error(`clip.add: track '${op.trackId}' not found`);
@@ -555,13 +637,13 @@ function applyOpToStore(store, op) {
555
637
  break;
556
638
  }
557
639
  case "setCaptionStyle":
558
- store.setCaptionStyle(op.style);
640
+ applyCaptionOpToStore(store, op);
559
641
  break;
560
642
  case "setCaptionDepth":
561
643
  store.setCaptionDepth(op.zPlane);
562
644
  break;
563
645
  case "setCaptions":
564
- store.setCaptions(op.segments, op.style);
646
+ applyCaptionOpToStore(store, op);
565
647
  break;
566
648
  case "applyMotionPreset":
567
649
  throw new Error(
@@ -575,6 +657,11 @@ function applyOpToStore(store, op) {
575
657
  throw new Error(
576
658
  `applyOp: 'captions.fromTranscript' is route-materialized \u2014 it is resolved to setCaptions at /composition/apply before reaching the pure engine.`
577
659
  );
660
+ case "scene.add":
661
+ case "scene.update":
662
+ throw new Error(
663
+ `applyOp: '${op.type}' is route-materialized \u2014 the host validates the scene, registers the generated scene-shot wrapper source through its component store and rewrites the request to ordinary addTrack / clip.add / clip.update ops carrying \`props.componentRef\` before reaching the pure engine.`
664
+ );
578
665
  case "setFormat":
579
666
  store.setFormat(op.format);
580
667
  break;
@@ -742,6 +829,8 @@ function invertOp(before, op) {
742
829
  case "applyMotionPreset":
743
830
  case "materializeGrid":
744
831
  case "captions.fromTranscript":
832
+ case "scene.add":
833
+ case "scene.update":
745
834
  throw new Error(
746
835
  `invertOp: '${op.type}' has no per-op inverse in scope (server-authoritative cross-field recompute or whole-channel/positional restore) \u2014 fail loud, no fake inverse.`
747
836
  );
@@ -756,6 +845,7 @@ export {
756
845
  GRID_DEFAULT_MAX_MARKERS,
757
846
  GRID_HARD_MAX_MARKERS,
758
847
  GridError,
848
+ applyCaptionOpToStore,
759
849
  applyOp,
760
850
  applyOpToStore,
761
851
  collectAlphaLayerClips,
@@ -17,6 +17,7 @@ import {
17
17
  BEHIND_TEXT_EXTENT,
18
18
  BUDGET,
19
19
  CARD_MOTION_VAR_NAMES,
20
+ CURRENT_MATTE_BAKE_VERSION,
20
21
  FRAME_ROUNDING_TOLERANCE,
21
22
  MIN_PRESENCE_FOR_BEHIND,
22
23
  behindReadinessForOverlay,
@@ -33,6 +34,7 @@ import {
33
34
  estimateCoverage,
34
35
  evaluateOcclusionBudget,
35
36
  faceKeepOutForWindow,
37
+ isCurrentMatteBakeVersion,
36
38
  matteIntentKey,
37
39
  matteWindowsByMediaId,
38
40
  outputToTrajectoryFrame,
@@ -44,10 +46,11 @@ import {
44
46
  silhouetteKeepOutForWindow,
45
47
  sourceRectToOutput,
46
48
  sourceWindowKey
47
- } from "./chunk-AD5HWBCE.js";
49
+ } from "./chunk-JX53CVJV.js";
48
50
  import {
49
51
  BRAND_TOKEN_REFS,
50
52
  BRAND_TOKEN_ROOT_KEYS,
53
+ CAPTION_BOTTOM_INSET,
51
54
  CAPTION_LC_FLOOR,
52
55
  COVIEW_MAX_BAND_COVERAGE,
53
56
  COVIEW_MAX_SILHOUETTE_W,
@@ -80,7 +83,7 @@ import {
80
83
  resolveLayoutIntent,
81
84
  resolveOverlayRegion,
82
85
  unionFaceKeepOutSeries
83
- } from "./chunk-YQ7FFW3G.js";
86
+ } from "./chunk-6VWICHOZ.js";
84
87
  import {
85
88
  apcaLc
86
89
  } from "./chunk-DSMLHYJ4.js";
@@ -146,7 +149,7 @@ import {
146
149
  WebhookDeliveryStatus,
147
150
  WebhookDestination,
148
151
  YoutubeDestination
149
- } from "./chunk-IHFREGFA.js";
152
+ } from "./chunk-TCHPRGC5.js";
150
153
  import {
151
154
  ANIMATABLE_PARAMS,
152
155
  AlphaLayerClipSource,
@@ -180,7 +183,7 @@ import {
180
183
  Transition,
181
184
  captionWords,
182
185
  captionsAreBehindSubject
183
- } from "./chunk-7KEUL3FI.js";
186
+ } from "./chunk-XF2QMKRG.js";
184
187
  import {
185
188
  AUTHORED_GRAPHIC_KINDS
186
189
  } from "./chunk-WPZKOVYF.js";
@@ -191,7 +194,8 @@ import {
191
194
  ReframeSegmentFields
192
195
  } from "./chunk-2B5VJZHL.js";
193
196
  import "./chunk-WREYUH2E.js";
194
- import "./chunk-4FOOBSEE.js";
197
+ import "./chunk-J3DIUG24.js";
198
+ import "./chunk-TARKDVP6.js";
195
199
  import "./chunk-2ESYSVXG.js";
196
200
 
197
201
  // ../composition/src/color-grade.ts
@@ -291,11 +295,13 @@ export {
291
295
  BRAND_TOKEN_ROOT_KEYS,
292
296
  BUDGET,
293
297
  BrandKit,
298
+ CAPTION_BOTTOM_INSET,
294
299
  CAPTION_LC_FLOOR,
295
300
  CARD_MOTION_VAR_NAMES,
296
301
  COVIEW_MAX_BAND_COVERAGE,
297
302
  COVIEW_MAX_SILHOUETTE_W,
298
303
  COVIEW_MIN_BAND_COVERAGE,
304
+ CURRENT_MATTE_BAKE_VERSION,
299
305
  CaptionSegment,
300
306
  CaptionStyle,
301
307
  CaptionWord,
@@ -428,6 +434,7 @@ export {
428
434
  evaluateOcclusionBudget,
429
435
  faceKeepOut,
430
436
  faceKeepOutForWindow,
437
+ isCurrentMatteBakeVersion,
431
438
  isSourceKindCompatible,
432
439
  lookupSafeZones,
433
440
  matteIntentKey,
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  buildDirectorContext
3
- } from "./chunk-ZCAQHNPI.js";
4
- import "./chunk-IBMJ33EL.js";
5
- import "./chunk-IHFREGFA.js";
6
- import "./chunk-7KEUL3FI.js";
3
+ } from "./chunk-UKGNHZS4.js";
4
+ import "./chunk-I5RX2QZT.js";
5
+ import "./chunk-TCHPRGC5.js";
6
+ import "./chunk-XF2QMKRG.js";
7
7
  import "./chunk-WPZKOVYF.js";
8
8
  import "./chunk-2B5VJZHL.js";
9
9
  import "./chunk-KYRDKK2D.js";
10
10
  import "./chunk-WREYUH2E.js";
11
+ import "./chunk-TARKDVP6.js";
11
12
  import "./chunk-2ESYSVXG.js";
12
13
  export {
13
14
  buildDirectorContext