@cueframe/kernel 0.1.1 → 0.1.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 (506) hide show
  1. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
  2. package/dist/_members/account-model/testing/index.d.ts +0 -5
  3. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
  4. package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
  5. package/dist/_members/account-model/validators/conversation.d.ts +0 -96
  6. package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
  7. package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
  8. package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
  9. package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
  10. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
  11. package/dist/_members/animate/animations/Create.d.ts +0 -19
  12. package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
  13. package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
  14. package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
  15. package/dist/_members/animate/animations/Indicate.d.ts +0 -17
  16. package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
  17. package/dist/_members/animate/animations/Transform.d.ts +0 -28
  18. package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
  19. package/dist/_members/animate/animations/Write.d.ts +0 -20
  20. package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
  21. package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
  22. package/dist/_members/animate/composition/Succession.d.ts +0 -17
  23. package/dist/_members/animate/easing/rush.d.ts +0 -14
  24. package/dist/_members/animate/easing/smooth.d.ts +0 -7
  25. package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
  26. package/dist/_members/animate/index.d.ts +0 -2
  27. package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
  28. package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
  29. package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
  30. package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
  31. package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
  32. package/dist/_members/animate/three/drei.d.ts +0 -7
  33. package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
  34. package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
  35. package/dist/_members/authoring/agent/errors.d.ts +0 -9
  36. package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
  37. package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
  38. package/dist/_members/authoring/agent.d.ts +0 -34
  39. package/dist/_members/authoring/capabilities.d.ts +0 -145
  40. package/dist/_members/authoring/composer/scopes.d.ts +0 -19
  41. package/dist/_members/authoring/context/brand.d.ts +0 -4
  42. package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
  43. package/dist/_members/authoring/context/index.d.ts +0 -1
  44. package/dist/_members/authoring/context/timeline.d.ts +0 -15
  45. package/dist/_members/authoring/context/transcript.d.ts +0 -11
  46. package/dist/_members/authoring/context/types.d.ts +0 -4
  47. package/dist/_members/authoring/decomposer.d.ts +0 -12
  48. package/dist/_members/authoring/evaluate.d.ts +0 -26
  49. package/dist/_members/authoring/evaluator.d.ts +0 -16
  50. package/dist/_members/authoring/index.d.ts +1 -1
  51. package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
  52. package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
  53. package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
  54. package/dist/_members/authoring/motion/shell.d.ts +0 -20
  55. package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
  56. package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
  57. package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
  58. package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
  59. package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
  60. package/dist/_members/authoring/prompts/index.d.ts +0 -1
  61. package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
  62. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
  63. package/dist/_members/authoring/resource-routing.d.ts +0 -121
  64. package/dist/_members/authoring/resources.d.ts +0 -34
  65. package/dist/_members/authoring/scope.d.ts +0 -24
  66. package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
  67. package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
  68. package/dist/_members/authoring/tools/index.d.ts +0 -1
  69. package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
  70. package/dist/_members/authoring/transpileComponent.d.ts +0 -34
  71. package/dist/_members/authoring/transpileHelper.d.ts +0 -18
  72. package/dist/_members/authoring/types.d.ts +0 -149
  73. package/dist/_members/brand-derivation/constants.d.ts +0 -17
  74. package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
  75. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
  76. package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
  77. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
  78. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
  79. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  80. package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
  81. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
  82. package/dist/_members/compose/schema.d.ts +0 -15
  83. package/dist/_members/compose/tokenResolver.d.ts +0 -11
  84. package/dist/_members/composition/audio/audioMix.d.ts +0 -34
  85. package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
  86. package/dist/_members/composition/audio/musicPack.d.ts +0 -35
  87. package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
  88. package/dist/_members/composition/audio/pack.d.ts +0 -43
  89. package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
  90. package/dist/_members/composition/audio/palette.d.ts +0 -36
  91. package/dist/_members/composition/autozoom/index.d.ts +0 -32
  92. package/dist/_members/composition/brand-kit.d.ts +0 -8
  93. package/dist/_members/composition/brief/contract.d.ts +0 -90
  94. package/dist/_members/composition/color-grade.d.ts +0 -11
  95. package/dist/_members/composition/depth.d.ts +0 -19
  96. package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
  97. package/dist/_members/composition/fonts.d.ts +0 -62
  98. package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
  99. package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
  100. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
  101. package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
  102. package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
  103. package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
  104. package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
  105. package/dist/_members/composition/invariants/composition.d.ts +0 -5
  106. package/dist/_members/composition/invariants/etag.d.ts +0 -7
  107. package/dist/_members/composition/invariants/ids.d.ts +0 -6
  108. package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
  109. package/dist/_members/composition/invariants/markers.d.ts +0 -6
  110. package/dist/_members/composition/invariants/time.d.ts +0 -8
  111. package/dist/_members/composition/invariants/tracks.d.ts +0 -48
  112. package/dist/_members/composition/ops/compositionOps.d.ts +4 -71
  113. package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
  114. package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
  115. package/dist/_members/composition/ops/selectors.d.ts +0 -66
  116. package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
  117. package/dist/_members/composition/ops/transcript.d.ts +0 -27
  118. package/dist/_members/composition/ops/types.d.ts +0 -51
  119. package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
  120. package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
  121. package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
  122. package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
  123. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
  124. package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
  125. package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
  126. package/dist/_members/composition/projection/behind-readiness.d.ts +14 -89
  127. package/dist/_members/composition/projection/brandKit.d.ts +0 -142
  128. package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
  129. package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
  130. package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
  131. package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
  132. package/dist/_members/composition/projection/reframe-readiness.d.ts +4 -111
  133. package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
  134. package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
  135. package/dist/_members/composition/reframe/coverage.d.ts +0 -40
  136. package/dist/_members/composition/reframe/derive.d.ts +0 -21
  137. package/dist/_members/composition/reframe/index.d.ts +0 -60
  138. package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
  139. package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
  140. package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
  141. package/dist/_members/composition/timeline/compound.d.ts +0 -31
  142. package/dist/_members/composition/timeline/intent.d.ts +0 -29
  143. package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
  144. package/dist/_members/composition/timeline/link.d.ts +0 -27
  145. package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
  146. package/dist/_members/composition/timeline/placement.d.ts +5 -52
  147. package/dist/_members/composition/timeline/plan.d.ts +5 -53
  148. package/dist/_members/composition/timeline/resolve.d.ts +0 -36
  149. package/dist/_members/composition/timeline/trims.d.ts +0 -49
  150. package/dist/_members/composition/validators/brandKit.d.ts +0 -29
  151. package/dist/_members/composition/validators/composePlan.d.ts +0 -39
  152. package/dist/_members/composition/validators/composition.d.ts +30 -513
  153. package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
  154. package/dist/_members/composition/validators/render.d.ts +23 -23
  155. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
  156. package/dist/_members/composition-ops/index.d.ts +27 -148
  157. package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
  158. package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
  159. package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
  160. package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
  161. package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
  162. package/dist/_members/convex-api/api.generated.d.ts +1444 -0
  163. package/dist/_members/convex-api/dataModel.d.ts +1 -1
  164. package/dist/_members/core/index.d.ts +1 -1
  165. package/dist/_members/core/render/bookends.d.ts +0 -44
  166. package/dist/_members/core/render/captions.d.ts +0 -42
  167. package/dist/_members/core/render/compositionRender.d.ts +1 -180
  168. package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
  169. package/dist/_members/core/render/emphasis.d.ts +0 -6
  170. package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
  171. package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
  172. package/dist/_members/core/render/eval/index.d.ts +0 -58
  173. package/dist/_members/core/render/eval/metrics.d.ts +0 -36
  174. package/dist/_members/core/render/exportSettings.d.ts +4 -12
  175. package/dist/_members/core/render/index.d.ts +1 -1
  176. package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
  177. package/dist/_members/core/render/types.d.ts +1 -184
  178. package/dist/_members/core/render/variantKeys.d.ts +1 -0
  179. package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
  180. package/dist/_members/core/render/vcam/constants.d.ts +0 -93
  181. package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
  182. package/dist/_members/core/render/vcam/framing.d.ts +0 -76
  183. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
  184. package/dist/_members/core/render/vcam/shots.d.ts +0 -40
  185. package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
  186. package/dist/_members/core/select/errorCodes.d.ts +0 -25
  187. package/dist/_members/core/select/index.d.ts +0 -20
  188. package/dist/_members/core/select/model.d.ts +0 -79
  189. package/dist/_members/core/select/select.d.ts +0 -49
  190. package/dist/_members/core/select/stabilize.d.ts +0 -102
  191. package/dist/_members/core/types.d.ts +0 -1
  192. package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
  193. package/dist/_members/director/ai-sdk/context.d.ts +6 -0
  194. package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
  195. package/dist/_members/director/ai-sdk/index.d.ts +4 -0
  196. package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
  197. package/dist/_members/director/domain/chat.d.ts +357 -0
  198. package/dist/_members/director/domain/generation.d.ts +1 -0
  199. package/dist/_members/director/domain/index.d.ts +3 -0
  200. package/dist/_members/director/domain/ports.d.ts +32 -0
  201. package/dist/_members/director/index.d.ts +2 -0
  202. package/dist/_members/director/testing/contract.d.ts +52 -0
  203. package/dist/_members/director/testing/index.d.ts +1 -0
  204. package/dist/_members/errors/registry.d.ts +103 -33
  205. package/dist/_members/foundation/codes/index.d.ts +0 -21
  206. package/dist/_members/mcp/adapter.d.ts +1 -84
  207. package/dist/_members/mcp/burnedNames.d.ts +0 -16
  208. package/dist/_members/mcp/core.d.ts +2 -82
  209. package/dist/_members/mcp/curation.d.ts +0 -112
  210. package/dist/_members/mcp/executor.d.ts +0 -49
  211. package/dist/_members/mcp/format.d.ts +0 -6
  212. package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
  213. package/dist/_members/mcp/generated/harness.d.ts +1 -1
  214. package/dist/_members/mcp/generated/operations.d.ts +1 -12
  215. package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
  216. package/dist/_members/mcp/prompts.d.ts +0 -16
  217. package/dist/_members/mcp/resources.d.ts +0 -13
  218. package/dist/_members/mcp/server.d.ts +0 -61
  219. package/dist/_members/mcp/wait.d.ts +1 -23
  220. package/dist/_members/mcp/x402Meta.d.ts +0 -44
  221. package/dist/_members/media-model/generation.d.ts +314 -0
  222. package/dist/_members/media-model/index.d.ts +1 -0
  223. package/dist/_members/media-model/media-kind.d.ts +0 -27
  224. package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
  225. package/dist/_members/nle-export/fcpxml.d.ts +0 -13
  226. package/dist/_members/nle-export/index.d.ts +0 -6
  227. package/dist/_members/nle-export/types.d.ts +0 -26
  228. package/dist/_members/nle-export/xml/index.d.ts +0 -8
  229. package/dist/_members/nle-export/xml-utils.d.ts +0 -12
  230. package/dist/_members/perception/activeSpeaker.d.ts +0 -94
  231. package/dist/_members/perception/audioQuality.d.ts +0 -64
  232. package/dist/_members/perception/energyBeat.d.ts +0 -81
  233. package/dist/_members/perception/identityMatch.d.ts +0 -66
  234. package/dist/_members/perception/index.d.ts +0 -52
  235. package/dist/_members/perception/visualQuality.d.ts +0 -73
  236. package/dist/_members/plane/conformance.d.ts +0 -59
  237. package/dist/_members/plane/contract.d.ts +0 -29
  238. package/dist/_members/plane/index.d.ts +0 -15
  239. package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
  240. package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
  241. package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
  242. package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
  243. package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
  244. package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
  245. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
  246. package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
  247. package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
  248. package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
  249. package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
  250. package/dist/_members/primitives/captions/Captions.d.ts +0 -24
  251. package/dist/_members/primitives/captions/index.d.ts +0 -15
  252. package/dist/_members/primitives/captions/paginate.d.ts +0 -21
  253. package/dist/_members/primitives/captions/placement.d.ts +0 -30
  254. package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
  255. package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
  256. package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
  257. package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
  258. package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
  259. package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
  260. package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
  261. package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
  262. package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
  263. package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
  264. package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
  265. package/dist/_members/primitives/hero-text/config.d.ts +0 -10
  266. package/dist/_members/primitives/hero-text/index.d.ts +0 -14
  267. package/dist/_members/primitives/index.d.ts +0 -8
  268. package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
  269. package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
  270. package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
  271. package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
  272. package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
  273. package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
  274. package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
  275. package/dist/_members/primitives/lib/easings.d.ts +0 -27
  276. package/dist/_members/primitives/lib/palette.d.ts +0 -22
  277. package/dist/_members/primitives/lib/preview.d.ts +0 -22
  278. package/dist/_members/primitives/lib/schema.d.ts +0 -36
  279. package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
  280. package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
  281. package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
  282. package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
  283. package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
  284. package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
  285. package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
  286. package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
  287. package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
  288. package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
  289. package/dist/_members/primitives/lib/tokens.d.ts +0 -87
  290. package/dist/_members/primitives/lib/types.d.ts +0 -141
  291. package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
  292. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
  293. package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
  294. package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
  295. package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
  296. package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
  297. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
  298. package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
  299. package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
  300. package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
  301. package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
  302. package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
  303. package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
  304. package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
  305. package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
  306. package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
  307. package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
  308. package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
  309. package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
  310. package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
  311. package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
  312. package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
  313. package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
  314. package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
  315. package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
  316. package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
  317. package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
  318. package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
  319. package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
  320. package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
  321. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
  322. package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
  323. package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
  324. package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
  325. package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
  326. package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
  327. package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
  328. package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
  329. package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
  330. package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
  331. package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
  332. package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
  333. package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
  334. package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
  335. package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
  336. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
  337. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
  338. package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
  339. package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
  340. package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
  341. package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
  342. package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
  343. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
  344. package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
  345. package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
  346. package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
  347. package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
  348. package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
  349. package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
  350. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
  351. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
  352. package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
  353. package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
  354. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
  355. package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
  356. package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
  357. package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
  358. package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
  359. package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
  360. package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
  361. package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
  362. package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
  363. package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
  364. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
  365. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
  366. package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
  367. package/dist/_members/primitives/workspace.d.ts +0 -29
  368. package/dist/_members/render-harness/browserOptions.d.ts +11 -0
  369. package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
  370. package/dist/_members/render-harness/cardRender.d.ts +0 -40
  371. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  372. package/dist/_members/render-harness/contractRender.d.ts +0 -16
  373. package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
  374. package/dist/_members/render-harness/extractSegments.d.ts +0 -37
  375. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  376. package/dist/_members/render-harness/index.d.ts +0 -12
  377. package/dist/_members/render-harness/index.d.ts.map +1 -1
  378. package/dist/_members/render-harness/localRender.d.ts +1 -110
  379. package/dist/_members/render-harness/localRender.d.ts.map +1 -1
  380. package/dist/_members/render-harness/materializeSources.d.ts +0 -22
  381. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  382. package/dist/_members/render-harness/mediaServer.d.ts +0 -16
  383. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  384. package/dist/_members/render-harness/remotion-runtime.d.ts +53 -0
  385. package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
  386. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  387. package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
  388. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  389. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
  390. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
  391. package/dist/account-model/validators.js +1 -1
  392. package/dist/account-model.js +1 -1
  393. package/dist/animate.js +0 -15
  394. package/dist/authoring/build-tools.js +8 -8
  395. package/dist/authoring/composer.js +0 -20
  396. package/dist/authoring/context.js +6 -6
  397. package/dist/authoring/pipelineTrace.js +1 -1
  398. package/dist/authoring/prompts.js +1 -5
  399. package/dist/authoring/resource-routing.js +1 -1
  400. package/dist/authoring/resources.js +1 -1
  401. package/dist/authoring/tools.js +7 -7
  402. package/dist/authoring.js +14 -84
  403. package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
  404. package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
  405. package/dist/chunk-73DQTUWY.js +131 -0
  406. package/dist/chunk-AW57IWNW.js +272 -0
  407. package/dist/chunk-BADZHXLR.js +0 -0
  408. package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
  409. package/dist/{chunk-PDYO3DOJ.js → chunk-BZZTVOGG.js} +6 -55
  410. package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
  411. package/dist/{chunk-HI4UTTPS.js → chunk-DJW3UGBH.js} +41 -72
  412. package/dist/{chunk-SIGGQRY2.js → chunk-DL7WYISQ.js} +5291 -4419
  413. package/dist/{chunk-AQBREB5O.js → chunk-DWLNPNC4.js} +1 -4
  414. package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
  415. package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
  416. package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
  417. package/dist/chunk-FTVZF4GO.js +0 -0
  418. package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
  419. package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
  420. package/dist/{chunk-JJ6XD7NG.js → chunk-GIA2SVVB.js} +70 -2
  421. package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
  422. package/dist/{chunk-AP6ZIVAV.js → chunk-HBVAZXYO.js} +17 -17
  423. package/dist/{chunk-UY4SWJVE.js → chunk-HFC3MKXA.js} +0 -63
  424. package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
  425. package/dist/chunk-IEXAKOEX.js +113 -0
  426. package/dist/{chunk-RF7U3SCL.js → chunk-KFECIHED.js} +29 -26
  427. package/dist/{chunk-DK2ODBNT.js → chunk-NQSMEUJ6.js} +16 -98
  428. package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
  429. package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
  430. package/dist/{chunk-MMEJ3Y7E.js → chunk-SDCEJAO2.js} +97 -23
  431. package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
  432. package/dist/chunk-TMB5AY6Q.js +146 -0
  433. package/dist/chunk-TO4BFNLJ.js +93 -0
  434. package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
  435. package/dist/{chunk-MBCXCJOE.js → chunk-TXSFYUZH.js} +1 -1
  436. package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
  437. package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
  438. package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
  439. package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
  440. package/dist/chunk-WZH57M53.js +494 -0
  441. package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
  442. package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
  443. package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
  444. package/dist/{chunk-HY3RIEZW.js → chunk-ZPRBGW4Y.js} +1 -1
  445. package/dist/cloud-import/multipart.js +1 -1
  446. package/dist/cloud-import.js +9 -16
  447. package/dist/compose/renderer.js +18 -18
  448. package/dist/compose.js +21 -21
  449. package/dist/composition/audio.js +1 -1
  450. package/dist/composition/brand-kit.js +0 -5
  451. package/dist/composition/graphics-plan.js +4 -4
  452. package/dist/composition/ops.js +5 -5
  453. package/dist/composition/primitive-catalog.js +1 -1
  454. package/dist/composition/projection.js +11 -3
  455. package/dist/composition/reframe/kenBurns.js +0 -4
  456. package/dist/composition/reframe.js +4 -2
  457. package/dist/composition/timeline.js +1 -1
  458. package/dist/composition/validators/graphic-kinds.js +1 -1
  459. package/dist/composition/validators.js +4 -4
  460. package/dist/composition-ops.js +16 -135
  461. package/dist/composition.js +15 -7
  462. package/dist/context-JLLU3MYD.js +14 -0
  463. package/dist/core/render.js +9 -7
  464. package/dist/core/select.js +2 -6
  465. package/dist/core.js +5 -7
  466. package/dist/director/ai-sdk.d.ts +1 -0
  467. package/dist/director/ai-sdk.js +33 -0
  468. package/dist/director/domain.d.ts +1 -0
  469. package/dist/director/domain.js +62 -0
  470. package/dist/director/testing.d.ts +1 -0
  471. package/dist/director/testing.js +22 -0
  472. package/dist/director.d.ts +1 -0
  473. package/dist/director.js +86 -0
  474. package/dist/errors.js +1 -1
  475. package/dist/foundation.js +1 -0
  476. package/dist/mcp/adapter.js +45 -75
  477. package/dist/mcp/core.js +1 -1
  478. package/dist/mcp/curation.js +1 -1
  479. package/dist/mcp/server.js +4 -4
  480. package/dist/mcp.js +4 -4
  481. package/dist/media-model/generation.d.ts +1 -0
  482. package/dist/media-model/generation.js +40 -0
  483. package/dist/media-model/testing.js +6 -6
  484. package/dist/media-model.js +38 -6
  485. package/dist/nle-export.js +21 -21
  486. package/dist/plane/contract.js +0 -3
  487. package/dist/primitives/backgrounds.js +2 -2
  488. package/dist/primitives/captions.js +0 -5
  489. package/dist/primitives/effects.js +2 -2
  490. package/dist/primitives/hero-text.js +2 -2
  491. package/dist/primitives/layouts.js +2 -2
  492. package/dist/primitives/lib/index.js +17 -17
  493. package/dist/primitives/lib/text/fitText.js +1 -1
  494. package/dist/primitives/lib/tokens.js +1 -1
  495. package/dist/primitives/lib.js +17 -17
  496. package/dist/primitives/scenes.js +2 -2
  497. package/dist/primitives/text.js +2 -2
  498. package/dist/primitives/ui-blocks.js +4 -4
  499. package/dist/primitives.js +21 -21
  500. package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
  501. package/dist/render-harness.js +24 -41
  502. package/package.json +38 -21
  503. package/dist/chunk-6EQXLEP6.js +0 -194
  504. package/dist/chunk-OCFDUCF4.js +0 -504
  505. package/dist/chunk-PODIYN2K.js +0 -742
  506. package/dist/context-YWUZDG5X.js +0 -14
@@ -1,39 +1,39 @@
1
1
  import {
2
2
  resolvePrimitive
3
- } from "../chunk-AP6ZIVAV.js";
3
+ } from "../chunk-HBVAZXYO.js";
4
4
  import "../chunk-H5LMJKZU.js";
5
- import "../chunk-GULDS3VE.js";
6
- import "../chunk-7DHP4ESU.js";
7
5
  import "../chunk-MFHXCHRI.js";
8
6
  import "../chunk-JQMPHKLU.js";
9
7
  import "../chunk-MHOQTPOB.js";
10
- import "../chunk-OLFOPQCA.js";
11
- import "../chunk-DLF4WVSE.js";
12
- import "../chunk-U4V4FZGE.js";
13
- import "../chunk-AWT3P5ZN.js";
14
- import "../chunk-GA23TRNR.js";
15
- import "../chunk-PMY24FUD.js";
8
+ import "../chunk-GULDS3VE.js";
9
+ import "../chunk-YLDMAZZE.js";
10
+ import "../chunk-BKHGL4MB.js";
16
11
  import {
17
12
  Grain,
18
13
  Vignette
19
- } from "../chunk-ABL557OT.js";
20
- import "../chunk-P727GZVO.js";
14
+ } from "../chunk-GMD33ZD7.js";
15
+ import "../chunk-SAMQUUO5.js";
16
+ import "../chunk-RP4SXXLJ.js";
17
+ import "../chunk-DYZE7JZA.js";
18
+ import "../chunk-ZSZABOE5.js";
19
+ import "../chunk-UQSOS726.js";
20
+ import "../chunk-DLF4WVSE.js";
21
+ import "../chunk-U4V4FZGE.js";
21
22
  import "../chunk-BDMTUEEZ.js";
22
23
  import "../chunk-EMGFZ3PR.js";
23
- import "../chunk-ZFEXATWN.js";
24
- import "../chunk-YX2GSJK7.js";
25
- import "../chunk-AYVJXDLB.js";
26
- import "../chunk-SW336CJP.js";
24
+ import "../chunk-AWT3P5ZN.js";
27
25
  import "../chunk-QGAWDLYX.js";
28
- import "../chunk-ZSZABOE5.js";
26
+ import "../chunk-G5BFI32U.js";
27
+ import "../chunk-XHGZ2E77.js";
28
+ import "../chunk-ZFEXATWN.js";
29
29
  import "../chunk-CX2IIQ4R.js";
30
- import "../chunk-7FO3ZJ43.js";
30
+ import "../chunk-DCVJWGIA.js";
31
31
  import "../chunk-7PA7FGLD.js";
32
32
  import "../chunk-JF4JJAFP.js";
33
33
  import {
34
34
  CueframeError,
35
35
  encodeError
36
- } from "../chunk-OCFDUCF4.js";
36
+ } from "../chunk-AW57IWNW.js";
37
37
  import "../chunk-2ESYSVXG.js";
38
38
 
39
39
  // ../execution/compose/src/CompositionRenderer.tsx
package/dist/compose.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveTokens,
3
3
  sceneToRenderInput
4
- } from "./chunk-MBCXCJOE.js";
4
+ } from "./chunk-TXSFYUZH.js";
5
5
  import {
6
6
  allCatalogs,
7
7
  getPrimitiveSubtext,
@@ -13,46 +13,46 @@ import {
13
13
  resetPrimitiveOverrides,
14
14
  resolvePrimitive,
15
15
  resolveTransitionPresentation
16
- } from "./chunk-AP6ZIVAV.js";
16
+ } from "./chunk-HBVAZXYO.js";
17
17
  import "./chunk-H5LMJKZU.js";
18
- import "./chunk-GULDS3VE.js";
19
- import "./chunk-7DHP4ESU.js";
20
18
  import "./chunk-MFHXCHRI.js";
21
19
  import "./chunk-JQMPHKLU.js";
22
20
  import "./chunk-MHOQTPOB.js";
23
- import "./chunk-OLFOPQCA.js";
21
+ import "./chunk-GULDS3VE.js";
22
+ import "./chunk-YLDMAZZE.js";
23
+ import "./chunk-BKHGL4MB.js";
24
+ import "./chunk-GMD33ZD7.js";
25
+ import "./chunk-SAMQUUO5.js";
26
+ import "./chunk-RP4SXXLJ.js";
27
+ import "./chunk-DYZE7JZA.js";
28
+ import "./chunk-ZSZABOE5.js";
29
+ import "./chunk-UQSOS726.js";
24
30
  import "./chunk-DLF4WVSE.js";
25
31
  import "./chunk-U4V4FZGE.js";
26
- import "./chunk-AWT3P5ZN.js";
27
- import "./chunk-GA23TRNR.js";
28
- import "./chunk-PMY24FUD.js";
29
- import "./chunk-ABL557OT.js";
30
- import "./chunk-P727GZVO.js";
31
32
  import "./chunk-BDMTUEEZ.js";
32
33
  import "./chunk-EMGFZ3PR.js";
33
- import "./chunk-ZFEXATWN.js";
34
- import "./chunk-YX2GSJK7.js";
35
- import "./chunk-AYVJXDLB.js";
36
- import "./chunk-SW336CJP.js";
34
+ import "./chunk-AWT3P5ZN.js";
37
35
  import "./chunk-QGAWDLYX.js";
38
- import "./chunk-ZSZABOE5.js";
36
+ import "./chunk-G5BFI32U.js";
37
+ import "./chunk-XHGZ2E77.js";
38
+ import "./chunk-ZFEXATWN.js";
39
39
  import "./chunk-CX2IIQ4R.js";
40
40
  import {
41
41
  getPrimitiveSubtextParam,
42
42
  getPrimitiveTextParam,
43
43
  listPrimitivesByCategory
44
- } from "./chunk-7FO3ZJ43.js";
45
- import "./chunk-DK2ODBNT.js";
44
+ } from "./chunk-DCVJWGIA.js";
45
+ import "./chunk-NQSMEUJ6.js";
46
46
  import "./chunk-QH3YI3ND.js";
47
- import "./chunk-HY3RIEZW.js";
48
- import "./chunk-TWQOKKAF.js";
49
- import "./chunk-JMURQODM.js";
47
+ import "./chunk-ZPRBGW4Y.js";
48
+ import "./chunk-23HFEKV7.js";
49
+ import "./chunk-VZ7TYX6Z.js";
50
50
  import "./chunk-7PA7FGLD.js";
51
51
  import "./chunk-KYRDKK2D.js";
52
52
  import "./chunk-JF4JJAFP.js";
53
53
  import "./chunk-DENF4TPI.js";
54
54
  import "./chunk-WREYUH2E.js";
55
- import "./chunk-OCFDUCF4.js";
55
+ import "./chunk-AW57IWNW.js";
56
56
  import "./chunk-2ESYSVXG.js";
57
57
  export {
58
58
  allCatalogs,
@@ -25,7 +25,7 @@ import {
25
25
  sfxByFamily,
26
26
  sfxPackR2Key,
27
27
  sfxTransients
28
- } from "../chunk-JMURQODM.js";
28
+ } from "../chunk-VZ7TYX6Z.js";
29
29
  import {
30
30
  SFX_PACK_ENTRIES,
31
31
  SFX_PACK_VERSION
@@ -17,11 +17,6 @@ var DEFAULT_BRAND_KIT = {
17
17
  { hex: "#262626", label: "Muted", usage: "Borders, subtle backgrounds" },
18
18
  { hex: "#a3a3a3", label: "Muted Text", usage: "Secondary text, captions" }
19
19
  ],
20
- // Vendored families only (`VENDORED_FONT_FAMILIES`): the picker lists exactly
21
- // those, and the render sandbox has no font egress, so a default outside the
22
- // list is a value the user cannot re-select and a face that rasterizes as
23
- // the generic fallback. The previous defaults ('DM Serif Display', 'Geist')
24
- // were both.
25
20
  headingFont: { fontFamily: "Instrument Serif", fontWeight: 400 },
26
21
  bodyFont: { fontFamily: "Inter", fontWeight: 400 },
27
22
  syncCaptions: false,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  placeInLegalArea,
3
3
  resolveBrandRefsDeep
4
- } from "../chunk-FYZVH3MC.js";
4
+ } from "../chunk-YQ7FFW3G.js";
5
5
  import "../chunk-DSMLHYJ4.js";
6
6
  import "../chunk-JF4JJAFP.js";
7
7
  import {
@@ -26,9 +26,9 @@ import {
26
26
  PlanRect,
27
27
  StyleRole,
28
28
  ZPlane
29
- } from "../chunk-PODIYN2K.js";
30
- import "../chunk-W35ZMOXB.js";
31
- import "../chunk-EA6MYCYW.js";
29
+ } from "../chunk-WZH57M53.js";
30
+ import "../chunk-WPZKOVYF.js";
31
+ import "../chunk-2B5VJZHL.js";
32
32
  import "../chunk-WREYUH2E.js";
33
33
  import "../chunk-2ESYSVXG.js";
34
34
 
@@ -20,12 +20,12 @@ import {
20
20
  selectMediaClipAt,
21
21
  selectSceneMarkers,
22
22
  selectTracksByKind
23
- } from "../chunk-ZWMV6DD2.js";
23
+ } from "../chunk-ICSZF37W.js";
24
24
  import "../chunk-KYRDKK2D.js";
25
- import "../chunk-TOJEXFXL.js";
26
- import "../chunk-PODIYN2K.js";
27
- import "../chunk-W35ZMOXB.js";
28
- import "../chunk-EA6MYCYW.js";
25
+ import "../chunk-TFGKUWHY.js";
26
+ import "../chunk-WZH57M53.js";
27
+ import "../chunk-WPZKOVYF.js";
28
+ import "../chunk-2B5VJZHL.js";
29
29
  import "../chunk-WREYUH2E.js";
30
30
  import "../chunk-2ESYSVXG.js";
31
31
  export {
@@ -26,7 +26,7 @@ import {
26
26
  validateCatalogFilters,
27
27
  validateParamsAgainstSchema,
28
28
  validatePrimitiveParams
29
- } from "../chunk-7FO3ZJ43.js";
29
+ } from "../chunk-DCVJWGIA.js";
30
30
  import "../chunk-7PA7FGLD.js";
31
31
  import "../chunk-2ESYSVXG.js";
32
32
  export {
@@ -7,8 +7,11 @@ import {
7
7
  MIN_PRESENCE_FOR_BEHIND,
8
8
  behindReadinessForOverlay,
9
9
  behindReadinessForTarget,
10
+ behindWindowsOf,
10
11
  buildSilhouetteKeepOutOutput,
11
12
  buildSubjectsOutput,
13
+ captionBehindWindowsOf,
14
+ clipOverlapsBehind,
12
15
  computeCropTransform,
13
16
  deriveBehindAnchor,
14
17
  detectDroppedBrandTokens,
@@ -17,6 +20,7 @@ import {
17
20
  evaluateOcclusionBudget,
18
21
  faceKeepOutForWindow,
19
22
  matteIntentKey,
23
+ matteWindowsByMediaId,
20
24
  outputToTrajectoryFrame,
21
25
  primaryClipForOverlay,
22
26
  reframeNeedsDetection,
@@ -26,7 +30,7 @@ import {
26
30
  silhouetteKeepOutForWindow,
27
31
  sourceRectToOutput,
28
32
  sourceWindowKey
29
- } from "../chunk-JJ6XD7NG.js";
33
+ } from "../chunk-GIA2SVVB.js";
30
34
  import {
31
35
  BRAND_TOKEN_REFS,
32
36
  BRAND_TOKEN_ROOT_KEYS,
@@ -62,12 +66,12 @@ import {
62
66
  resolveLayoutIntent,
63
67
  resolveOverlayRegion,
64
68
  unionFaceKeepOutSeries
65
- } from "../chunk-FYZVH3MC.js";
69
+ } from "../chunk-YQ7FFW3G.js";
66
70
  import {
67
71
  apcaLc
68
72
  } from "../chunk-DSMLHYJ4.js";
69
73
  import "../chunk-JF4JJAFP.js";
70
- import "../chunk-OCFDUCF4.js";
74
+ import "../chunk-AW57IWNW.js";
71
75
  import "../chunk-2ESYSVXG.js";
72
76
  export {
73
77
  BEHIND_BAND,
@@ -92,10 +96,13 @@ export {
92
96
  apcaLc,
93
97
  behindReadinessForOverlay,
94
98
  behindReadinessForTarget,
99
+ behindWindowsOf,
95
100
  boundingBox,
96
101
  buildSilhouetteKeepOutOutput,
97
102
  buildSubjectsOutput,
103
+ captionBehindWindowsOf,
98
104
  captionsBehindEligible,
105
+ clipOverlapsBehind,
99
106
  coViewReframe,
100
107
  colorMix,
101
108
  componentBrandPalette,
@@ -111,6 +118,7 @@ export {
111
118
  faceKeepOutForWindow,
112
119
  lookupSafeZones,
113
120
  matteIntentKey,
121
+ matteWindowsByMediaId,
114
122
  normalizePlatform,
115
123
  outputToTrajectoryFrame,
116
124
  placeInLegalArea,
@@ -33,13 +33,9 @@ function kenBurnsToReframe(mode, durationSec) {
33
33
  const seg = {
34
34
  startSec: 0,
35
35
  endSec,
36
- // `point` focus: detection-free, centers on the authored location. The pan
37
- // sweep is expressed as a center ramp the derive bakes from ease (from→to).
38
36
  focus: { mode: "point", x: toX, y: 0.5 },
39
37
  zoom: KEN_BURNS_PAN_ZOOM,
40
38
  ease: { in: endSec, out: 0 },
41
- // `bias.x` carries the pan ORIGIN offset (fromX − toX) so the derive can ramp
42
- // the center from origin→authored-point across the ease edge. Source-normalized.
43
39
  bias: { x: fromX - toX, y: 0 },
44
40
  intent: `ken-burns-${mode}`
45
41
  };
@@ -4,8 +4,9 @@ import {
4
4
  ReframeSegment,
5
5
  ReframeSegmentFields,
6
6
  coverVisibleFraction,
7
- detectAspectCropLoss
8
- } from "../chunk-EA6MYCYW.js";
7
+ detectAspectCropLoss,
8
+ findAspectCropLosses
9
+ } from "../chunk-2B5VJZHL.js";
9
10
  import {
10
11
  MAX_SOURCE_MAGNIFICATION,
11
12
  NO_GAIN_ZOOM,
@@ -32,6 +33,7 @@ export {
32
33
  coverVisibleFraction,
33
34
  detectAspectCropLoss,
34
35
  faceOverSpan,
36
+ findAspectCropLosses,
35
37
  fitWindow,
36
38
  punchInWarrant,
37
39
  shotScaleZoom,
@@ -26,7 +26,7 @@ import {
26
26
  trackKindForSource,
27
27
  trimForSubRange,
28
28
  valueAt
29
- } from "../chunk-TWQOKKAF.js";
29
+ } from "../chunk-23HFEKV7.js";
30
30
  import {
31
31
  expandClipIdsToLinkGroups,
32
32
  expandToLinkGroup,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AUTHORED_GRAPHIC_KINDS,
3
3
  GRAPHIC_ROLE_CANONICAL_KIND
4
- } from "../../chunk-W35ZMOXB.js";
4
+ } from "../../chunk-WPZKOVYF.js";
5
5
  import "../../chunk-2ESYSVXG.js";
6
6
  export {
7
7
  AUTHORED_GRAPHIC_KINDS,
@@ -48,7 +48,7 @@ import {
48
48
  WebhookDeliveryStatus,
49
49
  WebhookDestination,
50
50
  YoutubeDestination
51
- } from "../chunk-TOJEXFXL.js";
51
+ } from "../chunk-TFGKUWHY.js";
52
52
  import {
53
53
  ANIMATABLE_PARAMS,
54
54
  AlphaLayerClipSource,
@@ -81,16 +81,16 @@ import {
81
81
  Transition,
82
82
  captionWords,
83
83
  captionsAreBehindSubject
84
- } from "../chunk-PODIYN2K.js";
84
+ } from "../chunk-WZH57M53.js";
85
85
  import {
86
86
  AUTHORED_GRAPHIC_KINDS
87
- } from "../chunk-W35ZMOXB.js";
87
+ } from "../chunk-WPZKOVYF.js";
88
88
  import {
89
89
  Focus,
90
90
  Reframe,
91
91
  ReframeSegment,
92
92
  ReframeSegmentFields
93
- } from "../chunk-EA6MYCYW.js";
93
+ } from "../chunk-2B5VJZHL.js";
94
94
  import "../chunk-WREYUH2E.js";
95
95
  import "../chunk-2ESYSVXG.js";
96
96
  export {
@@ -3,17 +3,17 @@ import {
3
3
  findClipById,
4
4
  findMarkerById,
5
5
  findTrackContainingClipId
6
- } from "./chunk-ZWMV6DD2.js";
6
+ } from "./chunk-ICSZF37W.js";
7
7
  import {
8
8
  playableSpans
9
- } from "./chunk-DK2ODBNT.js";
9
+ } from "./chunk-NQSMEUJ6.js";
10
10
  import "./chunk-QH3YI3ND.js";
11
- import "./chunk-HY3RIEZW.js";
12
- import "./chunk-TWQOKKAF.js";
13
- import "./chunk-JMURQODM.js";
11
+ import "./chunk-ZPRBGW4Y.js";
12
+ import "./chunk-23HFEKV7.js";
13
+ import "./chunk-VZ7TYX6Z.js";
14
14
  import "./chunk-7PA7FGLD.js";
15
15
  import "./chunk-KYRDKK2D.js";
16
- import "./chunk-TOJEXFXL.js";
16
+ import "./chunk-TFGKUWHY.js";
17
17
  import {
18
18
  CaptionSegment,
19
19
  CaptionStyle,
@@ -23,14 +23,14 @@ import {
23
23
  PerClipEffect,
24
24
  TimelineClip,
25
25
  Track
26
- } from "./chunk-PODIYN2K.js";
27
- import "./chunk-W35ZMOXB.js";
26
+ } from "./chunk-WZH57M53.js";
27
+ import "./chunk-WPZKOVYF.js";
28
28
  import {
29
29
  ReframeSegment
30
- } from "./chunk-EA6MYCYW.js";
30
+ } from "./chunk-2B5VJZHL.js";
31
31
  import "./chunk-DENF4TPI.js";
32
32
  import "./chunk-WREYUH2E.js";
33
- import "./chunk-OCFDUCF4.js";
33
+ import "./chunk-AW57IWNW.js";
34
34
  import "./chunk-2ESYSVXG.js";
35
35
 
36
36
  // ../composition-ops/src/index.ts
@@ -41,15 +41,6 @@ var genTrackId = (kind) => `track-${kind}-${crypto.randomUUID().slice(0, 8)}`;
41
41
  function wrapWithOpRecorder(base, opts) {
42
42
  const { record, getComposition } = opts;
43
43
  const wrapped = {
44
- // ── clips ──
45
- // clip.add is family-self-routing; a bare `media` source is ambiguous, so
46
- // the editor's video-lane addClip stamps kind:'video' (replay byte-faithful:
47
- // the SAME object goes to the base store and the op). Every mapping derives
48
- // from ARGS + BEFORE-state only, so ops record BEFORE the base mutation —
49
- // `before` is exact and a throwing base never leaves a phantom op behind
50
- // (record throws first on invalid input; base throws are surfaced to the
51
- // caller with the op already journaled, which the flush's server apply
52
- // would then reject loudly — never silently).
53
44
  addClip: (clip, options) => {
54
45
  const before = getComposition();
55
46
  const c = clip.kind ? clip : { ...clip, kind: "video" };
@@ -89,7 +80,6 @@ function wrapWithOpRecorder(base, opts) {
89
80
  record({ type: "clip.update", clipId: id, patch }, getComposition());
90
81
  return base.setClipProperties(id, props);
91
82
  },
92
- // ── overlays (pre-emit the overlay track on first add: pinned id, targeted clip.add) ──
93
83
  addOverlay: (clip) => {
94
84
  const before = getComposition();
95
85
  const track = before.tracks.find((t) => t.kind === "overlay");
@@ -114,7 +104,6 @@ function wrapWithOpRecorder(base, opts) {
114
104
  record({ type: "loadOverlays", clips }, getComposition());
115
105
  base.loadOverlays(clips);
116
106
  },
117
- // ── audio (same pre-emit rule) ──
118
107
  addAudioClip: (clip) => {
119
108
  const before = getComposition();
120
109
  const track = before.tracks.find((t) => t.kind === "audio");
@@ -135,7 +124,6 @@ function wrapWithOpRecorder(base, opts) {
135
124
  record({ type: "clip.update", clipId: id, patch: updates }, getComposition());
136
125
  base.updateAudioClip(id, updates);
137
126
  },
138
- // ── markers ──
139
127
  addMarker: (marker) => {
140
128
  record({ type: "addMarker", marker }, getComposition());
141
129
  base.addMarker(marker);
@@ -148,12 +136,10 @@ function wrapWithOpRecorder(base, opts) {
148
136
  record({ type: "updateMarker", markerId: id, updates }, getComposition());
149
137
  base.updateMarker(id, updates);
150
138
  },
151
- // ── crop / effects / captions / format ──
152
139
  setCropIntents: (clipId, segments) => {
153
140
  record({ type: "setCropIntents", clipId, segments }, getComposition());
154
141
  base.setCropIntents(clipId, segments);
155
142
  },
156
- // Wholesale array — `[]` records the clear, same as any other set.
157
143
  setEffects: (clipId, effects) => {
158
144
  record({ type: "setEffects", clipId, effects }, getComposition());
159
145
  base.setEffects(clipId, effects);
@@ -170,7 +156,6 @@ function wrapWithOpRecorder(base, opts) {
170
156
  record({ type: "setFormat", format }, getComposition());
171
157
  base.setFormat(format);
172
158
  },
173
- // ── tracks (always pin the id) ──
174
159
  addTrack: (kind, name, id) => {
175
160
  const useId = id ?? genTrackId(kind);
176
161
  record({ type: "addTrack", kind, ...name !== void 0 ? { name } : {}, id: useId }, getComposition());
@@ -204,7 +189,6 @@ function wrapWithOpRecorder(base, opts) {
204
189
  record({ type: "duplicateClip", clipId: id }, getComposition());
205
190
  return base.duplicateClip(id);
206
191
  },
207
- // ── server-authoritative (cross-field timeline recompute) ──
208
192
  cutAndRipple: (start, end) => {
209
193
  record({ type: "cutAndRipple", start, end }, getComposition());
210
194
  base.cutAndRipple(start, end);
@@ -473,126 +457,33 @@ function resolveClipKind(clip, track) {
473
457
  return resolved;
474
458
  }
475
459
  var CompositionOp = z.discriminatedUnion("type", [
476
- // ── clips ──
477
- // `newTrackId` pins the id of the track created when `newTrack` is set, so a
478
- // recorded op replays to the identical track (byte-faithful op-log).
479
- // `.strict()` on every variant: an unknown op-level key (e.g. an LLM agent's
480
- // typo) fails loud instead of being silently stripped. Scope is op-level only —
481
- // nested validators (TimelineClip, Marker, …) keep their own passthrough.
482
- // `clip.add` is family-self-routing: the clip's family (resolveClipKind —
483
- // clip.kind, else derived from source, else the target track) picks the track.
484
- // `trackId` targets an EXISTING same-family track; `newTrack`/`newTrackId`
485
- // create a fresh track of the family (the id is pinned for byte-faithful
486
- // op-replay — same role it played on the old `addClip`). A `media` clip with
487
- // neither `clip.kind` nor `trackId` is rejected at apply time (ambiguous).
488
460
  z.object({ type: z.literal("clip.add"), clip: TimelineClip, trackId: z.string().optional(), newTrack: z.boolean().optional(), newTrackId: z.string().optional() }).strict(),
489
- // `clip.remove` is cross-family: the store locates the clip by id across every
490
- // track (one locator replaces the three family-specific removers).
491
461
  z.object({ type: z.literal("clip.remove"), clipId: z.string() }).strict(),
492
- // `clip.update` is cross-family: the store locates the clip by id across every
493
- // track and merges `patch` (one op replaces the three family-specific updaters
494
- // updateClip/updateOverlay/updateAudioClip AND setClipProperties). The patch is
495
- // `TimelineClip.partial()` — opacity/scale/rotation/region/fit are top-level
496
- // TimelineClip fields, so they fold straight into the patch. This KILLS the
497
- // historic region/fit silent-drop: the parallel `props` channel (a hand-kept
498
- // ClipProps mirror that drifted from the validator) is gone — the patch IS the
499
- // validator, so it can never miss a field. `playbackRate` is deliberately NOT
500
- // here: it lives at `source.playbackRate`, not as a top-level field, and a rate
501
- // change is a cross-field ripple recompute (server-authoritative), not a free
502
- // merge — it does not belong in clip.update.
503
- //
504
- // SOURCE PATCH SEMANTICS (T2 note): the merge is SHALLOW (top-level only). A
505
- // `patch.source` REPLACES the WHOLE `source` object — it does NOT deep-merge.
506
- // So a partial source (e.g. `{ source: { kind: 'media', mediaId } }` to retarget
507
- // media) WIPES every other source field (trim, reframe, volume, excludedRanges,
508
- // …). To change ONE source channel, send the COMPLETE source object with that
509
- // channel updated (read it from the current clip first). Use `setCropIntents` /
510
- // `addExcludedRange` for the reframe/excluded channels instead of a source patch.
511
462
  z.object({ type: z.literal("clip.update"), clipId: z.string(), patch: TimelineClip.partial() }).strict(),
512
463
  z.object({ type: z.literal("removeClipsByMediaId"), mediaId: z.string() }).strict(),
513
- // ── overlays (load stays; add/remove/update fold into clip.add/clip.remove/clip.update) ──
514
464
  z.object({ type: z.literal("loadOverlays"), clips: z.array(TimelineClip) }).strict(),
515
- // ── markers ──
516
465
  z.object({ type: z.literal("addMarker"), marker: Marker }).strict(),
517
466
  z.object({ type: z.literal("removeMarker"), markerId: z.string() }).strict(),
518
467
  z.object({ type: z.literal("updateMarker"), markerId: z.string(), updates: Marker.partial() }).strict(),
519
- // ── crop (reframe) ── op `type` kept as 'setCropIntents' so recorded op
520
- // streams replay unchanged; the segment payload is now ReframeSegment[].
521
468
  z.object({ type: z.literal("setCropIntents"), clipId: z.string(), segments: z.array(ReframeSegment).nullable() }).strict(),
522
- // ── effects ── the per-clip EFFECT channel (`TimelineClip.effects`). The field
523
- // was always in the validator and `clip.add` always accepted it, but nothing
524
- // could CHANGE it on an existing clip: the only route was a whole-clip
525
- // `clip.update`, which this vocabulary steers callers away from (a partial
526
- // `source` in that patch clobbers the source). WHOLESALE set; `effects: []`
527
- // clears the channel — the same set/clear shape `setCropIntents` has. The item
528
- // schema is the validator's own `PerClipEffect`, reused (never re-described).
529
469
  z.object({ type: z.literal("setEffects"), clipId: z.string(), effects: z.array(PerClipEffect) }).strict(),
530
- // ── captions ── style-only overrides (font, color, position, emphasis). Reuse
531
- // CaptionStyle.partial() so the op vocabulary never hand-drifts from the validator;
532
- // setCaptionStyle merges (omitted fields don't clobber) onto composition.captions.style.
533
470
  z.object({ type: z.literal("setCaptionStyle"), style: CaptionStyle.partial() }).strict(),
534
- // setCaptions replaces the caption SEGMENTS wholesale (word timings are one
535
- // coherent document — the only writer used to be the transcript-slice lanes,
536
- // which locked the caption layer away from clients with their own VO
537
- // timings); `style` merges when given, keeps the existing style when omitted.
471
+ z.object({ type: z.literal("setCaptionDepth"), zPlane: z.enum(["front", "behind-subject"]) }).strict(),
538
472
  z.object({ type: z.literal("setCaptions"), segments: z.array(CaptionSegment), style: CaptionStyle.partial().optional() }).strict(),
539
- // ── motion ── applyMotionPreset is the PUBLIC card-shelling op: wrap a static
540
- // `card` clip's approved markup in a frame-driven motion shell (layout verbatim),
541
- // mint it as a live component, and swap the clip source to that component (the
542
- // director's `apply_motion_preset` capability, minus the box — the live lane).
543
- // It is ROUTE-MATERIALIZED: generating the shell needs a director esbuild
544
- // transpile, which the pure engine / applyOp mutation can't run, so the op route
545
- // (`/composition/apply`) validates + orchestrates it and rewrites it to a
546
- // `clip.update` BEFORE the mutation. `applyOp` therefore never applies it (it
547
- // throws — reaching the pure engine means the route path was bypassed), and its
548
- // recorded/invertible form is the substituted `clip.update` (whose inverse
549
- // restores the prior card source). `preset` is `z.string()` here (validated
550
- // against MOTION_PRESETS at the route, which owns @cueframe/authoring — this
551
- // package stays authoring-free); the OpenAPI mirror enumerates the presets.
552
473
  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(),
553
- // ── grids ── materializeGrid reads a clip's SOURCE-media temporal grid
554
- // (beat map / word onsets / shot boundaries), maps each grid point from media
555
- // time to TIMELINE time through the clip's placement, and writes `kind:<grid>`
556
- // markers (replacing any prior materialization from the same clipId+grid).
557
- // Like applyMotionPreset it is ROUTE-MATERIALIZED: the pure engine / applyOp
558
- // MUTATION has no media reader, so the op route (`/composition/apply` +
559
- // `/composition/ops`) resolves the grid evidence and rewrites the op to a
560
- // batch of removeMarker+addMarker ops BEFORE the mutation. `applyOp` therefore
561
- // never applies it (it throws — reaching the pure engine means the route path
562
- // was bypassed), and its recorded/invertible form is the substituted marker
563
- // ops (whose own inverses restore the prior markers). `maxMarkers` (≤ 2000)
564
- // raises the default 500 cap; exceeding it fails loud with the count.
565
474
  z.object({ type: z.literal("materializeGrid"), clipId: z.string(), grid: z.enum(["beat", "word", "shot"]), maxMarkers: z.number().int().positive().max(2e3).optional() }).strict(),
566
- // `captions.fromTranscript` is a REF op: attach caption content from the
567
- // media's cached transcript (optionally a source-time window), sentence-split
568
- // server-side. ROUTE-MATERIALIZED like applyMotionPreset/materializeGrid: the
569
- // API route resolves it to `setCaptions` BEFORE the pure applier — the agent
570
- // never pastes transcript text. applyOp throws on an unresolved instance (a
571
- // pure applier cannot do I/O; silent no-op is the bug class this lane kills).
572
475
  z.object({
573
476
  type: z.literal("captions.fromTranscript"),
574
477
  mediaId: z.string().min(1),
575
478
  window: z.object({ startSec: z.number().min(0), endSec: z.number().positive() }).strict().optional()
576
479
  }).strict(),
577
- // ── format ──
578
480
  z.object({ type: z.literal("setFormat"), format: Format.pick({ aspectRatio: true, fps: true, resolution: true }) }).strict(),
579
- // ── tracks ──
580
481
  z.object({ type: z.literal("addTrack"), kind: Track.shape.kind, name: z.string().optional(), id: z.string().optional() }).strict(),
581
482
  z.object({ type: z.literal("removeTrack"), trackId: z.string() }).strict(),
582
- // `volume` joined the pickable set with the track fader (2026-08-24). Review
583
- // finding: the fader's store verb accepted it while THIS payload schema did
584
- // not — so a fader move recorded into the op journal, or replayed over the
585
- // REST-op path, failed validation. The store verb and the op vocabulary must
586
- // widen together or the op-log lies about what the editor can do.
587
483
  z.object({ type: z.literal("updateTrack"), trackId: z.string(), updates: Track.pick({ name: true, enabled: true, volume: true }).partial() }).strict(),
588
484
  z.object({ type: z.literal("reorderTracks"), fromIndex: z.number(), toIndex: z.number() }).strict(),
589
485
  z.object({ type: z.literal("moveClipToTrack"), clipId: z.string(), targetTrackId: z.string(), newStartTime: z.number().optional() }).strict(),
590
- // `newClipId` PINS the id of the copy duplicateClip mints (the store otherwise
591
- // mints a uuid-suffixed id internally). Pinning makes the op deterministic so
592
- // `invertOp` can return a `clip.remove` of that exact id (a non-pinned
593
- // duplicateClip has no determinate inverse — invertOp throws for it).
594
486
  z.object({ type: z.literal("duplicateClip"), clipId: z.string(), newClipId: z.string().optional() }).strict(),
595
- // ── server-authoritative (cross-field timeline recompute) ──
596
487
  z.object({ type: z.literal("cutAndRipple"), start: z.number(), end: z.number() }).strict(),
597
488
  z.object({ type: z.literal("ripple"), time: z.number(), amount: z.number() }).strict(),
598
489
  z.object({ type: z.literal("addExcludedRange"), clipId: z.string(), sourceStart: z.number(), sourceEnd: z.number(), reason: z.string().optional() }).strict(),
@@ -629,10 +520,6 @@ function applyOpToStore(store, op) {
629
520
  case "clip.remove":
630
521
  store.removeClip(op.clipId);
631
522
  break;
632
- // `store.updateClip` is cross-family (locates the clip by id across every
633
- // track, like `removeClip`), so it serves all three former family updaters
634
- // AND setClipProperties' visual props (region/fit/opacity/scale/rotation +
635
- // timing) — a plain partial merge of top-level TimelineClip fields.
636
523
  case "clip.update":
637
524
  store.updateClip(op.clipId, op.patch);
638
525
  break;
@@ -664,6 +551,9 @@ function applyOpToStore(store, op) {
664
551
  case "setCaptionStyle":
665
552
  store.setCaptionStyle(op.style);
666
553
  break;
554
+ case "setCaptionDepth":
555
+ store.setCaptionDepth(op.zPlane);
556
+ break;
667
557
  case "setCaptions":
668
558
  store.setCaptions(op.segments, op.style);
669
559
  break;
@@ -792,6 +682,8 @@ function invertOp(before, op) {
792
682
  }
793
683
  };
794
684
  }
685
+ case "setCaptionDepth":
686
+ return { type: "setCaptionDepth", zPlane: before.captions?.zPlane ?? "front" };
795
687
  case "addTrack":
796
688
  if (op.id === void 0) {
797
689
  throw new Error("invertOp(addTrack): no pinned `id` \u2014 cannot target the minted track");
@@ -832,8 +724,6 @@ function invertOp(before, op) {
832
724
  );
833
725
  }
834
726
  return { type: "clip.remove", clipId: op.newClipId };
835
- // ── DEFERRED (fail loud — see the doc-comment above for why none has a
836
- // clean per-op inverse in scope). ──
837
727
  case "cutAndRipple":
838
728
  case "ripple":
839
729
  case "addExcludedRange":
@@ -843,17 +733,8 @@ function invertOp(before, op) {
843
733
  case "loadOverlays":
844
734
  case "setCaptionStyle":
845
735
  case "setCaptions":
846
- // applyMotionPreset is route-materialized into a clip.update before it is
847
- // recorded, so invertOp is never asked to invert it in practice; if it is
848
- // (a bypassed route path), fail loud — the real inverse lives on the
849
- // substituted clip.update (which restores the prior card source).
850
736
  case "applyMotionPreset":
851
- // materializeGrid is route-materialized into removeMarker+addMarker ops
852
- // before it is recorded, so invertOp never inverts it in practice; the real
853
- // inverses live on those substituted marker ops. Fail loud if reached.
854
737
  case "materializeGrid":
855
- // captions.fromTranscript is route-materialized into setCaptions before it
856
- // is recorded, so invertOp never inverts it in practice; fail loud if reached.
857
738
  case "captions.fromTranscript":
858
739
  throw new Error(
859
740
  `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.`