@cueframe/kernel 0.1.0 → 0.1.2

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 (815) hide show
  1. package/LICENSE +661 -0
  2. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
  3. package/dist/_members/account-model/testing/index.d.ts +0 -5
  4. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
  5. package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
  6. package/dist/_members/account-model/validators/conversation.d.ts +0 -96
  7. package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
  8. package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
  9. package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
  10. package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
  11. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
  12. package/dist/_members/animate/animations/Create.d.ts +0 -19
  13. package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
  14. package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
  15. package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
  16. package/dist/_members/animate/animations/Indicate.d.ts +0 -17
  17. package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
  18. package/dist/_members/animate/animations/Transform.d.ts +0 -28
  19. package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
  20. package/dist/_members/animate/animations/Write.d.ts +0 -20
  21. package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
  22. package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
  23. package/dist/_members/animate/composition/Succession.d.ts +0 -17
  24. package/dist/_members/animate/easing/rush.d.ts +0 -14
  25. package/dist/_members/animate/easing/smooth.d.ts +0 -7
  26. package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
  27. package/dist/_members/animate/index.d.ts +0 -2
  28. package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
  29. package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
  30. package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
  31. package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
  32. package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
  33. package/dist/_members/animate/three/drei.d.ts +0 -7
  34. package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
  35. package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
  36. package/dist/_members/authoring/agent/errors.d.ts +0 -9
  37. package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
  38. package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
  39. package/dist/_members/authoring/agent.d.ts +0 -34
  40. package/dist/_members/authoring/capabilities.d.ts +0 -145
  41. package/dist/_members/authoring/composer/scopes.d.ts +0 -19
  42. package/dist/_members/authoring/context/brand.d.ts +0 -4
  43. package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
  44. package/dist/_members/authoring/context/index.d.ts +0 -1
  45. package/dist/_members/authoring/context/timeline.d.ts +0 -15
  46. package/dist/_members/authoring/context/transcript.d.ts +0 -11
  47. package/dist/_members/authoring/context/types.d.ts +0 -4
  48. package/dist/_members/authoring/decomposer.d.ts +0 -12
  49. package/dist/_members/authoring/evaluate.d.ts +0 -26
  50. package/dist/_members/authoring/evaluator.d.ts +0 -16
  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/plannerPrompt.d.ts +0 -30
  61. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
  62. package/dist/_members/authoring/resource-routing.d.ts +0 -121
  63. package/dist/_members/authoring/resources.d.ts +0 -34
  64. package/dist/_members/authoring/scope.d.ts +0 -24
  65. package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
  66. package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
  67. package/dist/_members/authoring/tools/index.d.ts +0 -1
  68. package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
  69. package/dist/_members/authoring/transpileComponent.d.ts +0 -34
  70. package/dist/_members/authoring/transpileHelper.d.ts +0 -18
  71. package/dist/_members/authoring/types.d.ts +0 -149
  72. package/dist/_members/brand-derivation/constants.d.ts +0 -17
  73. package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
  74. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
  75. package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
  76. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
  77. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
  78. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  79. package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
  80. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
  81. package/dist/_members/compose/schema.d.ts +0 -15
  82. package/dist/_members/compose/tokenResolver.d.ts +0 -11
  83. package/dist/_members/composition/audio/audioMix.d.ts +0 -34
  84. package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
  85. package/dist/_members/composition/audio/musicPack.d.ts +0 -35
  86. package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
  87. package/dist/_members/composition/audio/pack.d.ts +0 -43
  88. package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
  89. package/dist/_members/composition/audio/palette.d.ts +0 -36
  90. package/dist/_members/composition/autozoom/index.d.ts +0 -32
  91. package/dist/_members/composition/brand-kit.d.ts +0 -8
  92. package/dist/_members/composition/brief/contract.d.ts +0 -90
  93. package/dist/_members/composition/color-grade.d.ts +0 -11
  94. package/dist/_members/composition/depth.d.ts +0 -19
  95. package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
  96. package/dist/_members/composition/fonts.d.ts +0 -62
  97. package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
  98. package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
  99. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
  100. package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
  101. package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
  102. package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
  103. package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
  104. package/dist/_members/composition/invariants/composition.d.ts +0 -5
  105. package/dist/_members/composition/invariants/etag.d.ts +0 -7
  106. package/dist/_members/composition/invariants/ids.d.ts +0 -6
  107. package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
  108. package/dist/_members/composition/invariants/markers.d.ts +0 -6
  109. package/dist/_members/composition/invariants/time.d.ts +0 -8
  110. package/dist/_members/composition/invariants/tracks.d.ts +0 -48
  111. package/dist/_members/composition/ops/compositionOps.d.ts +5 -71
  112. package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
  113. package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
  114. package/dist/_members/composition/ops/selectors.d.ts +0 -66
  115. package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
  116. package/dist/_members/composition/ops/transcript.d.ts +0 -27
  117. package/dist/_members/composition/ops/types.d.ts +0 -51
  118. package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
  119. package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
  120. package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
  121. package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
  122. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
  123. package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
  124. package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
  125. package/dist/_members/composition/projection/behind-readiness.d.ts +52 -0
  126. package/dist/_members/composition/projection/brandKit.d.ts +0 -142
  127. package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
  128. package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
  129. package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
  130. package/dist/_members/composition/projection/index.d.ts +2 -0
  131. package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
  132. package/dist/_members/composition/projection/reframe-readiness.d.ts +49 -0
  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 +63 -529
  153. package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
  154. package/dist/_members/composition/validators/render.d.ts +55 -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.d.ts +0 -3
  163. package/dist/_members/convex-api/dataModel.d.ts +0 -2
  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 +2 -165
  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 +4 -156
  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 +0 -32
  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 +1 -81
  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/operations.d.ts +0 -23
  214. package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
  215. package/dist/_members/mcp/prompts.d.ts +0 -16
  216. package/dist/_members/mcp/resources.d.ts +0 -13
  217. package/dist/_members/mcp/server.d.ts +0 -61
  218. package/dist/_members/mcp/wait.d.ts +0 -22
  219. package/dist/_members/mcp/x402Meta.d.ts +0 -44
  220. package/dist/_members/media-model/generation.d.ts +314 -0
  221. package/dist/_members/media-model/index.d.ts +1 -0
  222. package/dist/_members/media-model/media-kind.d.ts +0 -27
  223. package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
  224. package/dist/_members/nle-export/fcpxml.d.ts +0 -13
  225. package/dist/_members/nle-export/index.d.ts +0 -6
  226. package/dist/_members/nle-export/types.d.ts +0 -26
  227. package/dist/_members/nle-export/xml/index.d.ts +0 -8
  228. package/dist/_members/nle-export/xml-utils.d.ts +0 -12
  229. package/dist/_members/perception/activeSpeaker.d.ts +0 -94
  230. package/dist/_members/perception/audioQuality.d.ts +0 -64
  231. package/dist/_members/perception/energyBeat.d.ts +0 -81
  232. package/dist/_members/perception/identityMatch.d.ts +0 -66
  233. package/dist/_members/perception/index.d.ts +0 -52
  234. package/dist/_members/perception/visualQuality.d.ts +0 -73
  235. package/dist/_members/plane/conformance.d.ts +0 -59
  236. package/dist/_members/plane/contract.d.ts +0 -29
  237. package/dist/_members/plane/index.d.ts +0 -15
  238. package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
  239. package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
  240. package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
  241. package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
  242. package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
  243. package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
  244. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
  245. package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
  246. package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
  247. package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
  248. package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
  249. package/dist/_members/primitives/captions/Captions.d.ts +0 -24
  250. package/dist/_members/primitives/captions/index.d.ts +0 -15
  251. package/dist/_members/primitives/captions/paginate.d.ts +0 -21
  252. package/dist/_members/primitives/captions/placement.d.ts +0 -30
  253. package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
  254. package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
  255. package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
  256. package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
  257. package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
  258. package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
  259. package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
  260. package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
  261. package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
  262. package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
  263. package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
  264. package/dist/_members/primitives/hero-text/config.d.ts +0 -10
  265. package/dist/_members/primitives/hero-text/index.d.ts +0 -14
  266. package/dist/_members/primitives/index.d.ts +0 -8
  267. package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
  268. package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
  269. package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
  270. package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
  271. package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
  272. package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
  273. package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
  274. package/dist/_members/primitives/lib/easings.d.ts +0 -27
  275. package/dist/_members/primitives/lib/palette.d.ts +0 -22
  276. package/dist/_members/primitives/lib/preview.d.ts +0 -22
  277. package/dist/_members/primitives/lib/schema.d.ts +0 -36
  278. package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
  279. package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
  280. package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
  281. package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
  282. package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
  283. package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
  284. package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
  285. package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
  286. package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
  287. package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
  288. package/dist/_members/primitives/lib/tokens.d.ts +0 -87
  289. package/dist/_members/primitives/lib/types.d.ts +0 -141
  290. package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
  291. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
  292. package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
  293. package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
  294. package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
  295. package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
  296. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
  297. package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
  298. package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
  299. package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
  300. package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
  301. package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
  302. package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
  303. package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
  304. package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
  305. package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
  306. package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
  307. package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
  308. package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
  309. package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
  310. package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
  311. package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
  312. package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
  313. package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
  314. package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
  315. package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
  316. package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
  317. package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
  318. package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
  319. package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
  320. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
  321. package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
  322. package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
  323. package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
  324. package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
  325. package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
  326. package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
  327. package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
  328. package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
  329. package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
  330. package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
  331. package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
  332. package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
  333. package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
  334. package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
  335. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
  336. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
  337. package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
  338. package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
  339. package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
  340. package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
  341. package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
  342. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
  343. package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
  344. package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
  345. package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
  346. package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
  347. package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
  348. package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
  349. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
  350. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
  351. package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
  352. package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
  353. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
  354. package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
  355. package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
  356. package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
  357. package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
  358. package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
  359. package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
  360. package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
  361. package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
  362. package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
  363. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
  364. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
  365. package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
  366. package/dist/_members/primitives/workspace.d.ts +0 -29
  367. package/dist/_members/render-harness/browserOptions.d.ts +11 -0
  368. package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
  369. package/dist/_members/render-harness/cardRender.d.ts +0 -40
  370. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  371. package/dist/_members/render-harness/contractRender.d.ts +0 -16
  372. package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
  373. package/dist/_members/render-harness/extractSegments.d.ts +0 -37
  374. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  375. package/dist/_members/render-harness/index.d.ts +0 -12
  376. package/dist/_members/render-harness/index.d.ts.map +1 -1
  377. package/dist/_members/render-harness/localRender.d.ts +1 -110
  378. package/dist/_members/render-harness/localRender.d.ts.map +1 -1
  379. package/dist/_members/render-harness/materializeSources.d.ts +0 -22
  380. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  381. package/dist/_members/render-harness/mediaServer.d.ts +0 -16
  382. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  383. package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
  384. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  385. package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
  386. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  387. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
  388. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
  389. package/dist/account-model/validators.js +1 -1
  390. package/dist/account-model.js +1 -1
  391. package/dist/animate.js +0 -15
  392. package/dist/authoring/build-tools.js +8 -8
  393. package/dist/authoring/composer.js +0 -20
  394. package/dist/authoring/context.js +6 -6
  395. package/dist/authoring/pipelineTrace.js +1 -1
  396. package/dist/authoring/prompts.js +1 -1
  397. package/dist/authoring/resource-routing.js +1 -1
  398. package/dist/authoring/resources.js +1 -1
  399. package/dist/authoring/tools.js +7 -7
  400. package/dist/authoring.js +16 -80
  401. package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
  402. package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
  403. package/dist/chunk-73DQTUWY.js +131 -0
  404. package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
  405. package/dist/chunk-BADZHXLR.js +0 -0
  406. package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
  407. package/dist/{chunk-VOO5FQSS.js → chunk-BZZTVOGG.js} +6 -55
  408. package/dist/{chunk-ODL7GQJG.js → chunk-CAJQ7H5A.js} +17 -17
  409. package/dist/{chunk-ZB3C3HM7.js → chunk-DCVJWGIA.js} +4 -9
  410. package/dist/{chunk-IBYQG46O.js → chunk-DWLNPNC4.js} +1 -4
  411. package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
  412. package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
  413. package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
  414. package/dist/chunk-FTVZF4GO.js +0 -0
  415. package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
  416. package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
  417. package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
  418. package/dist/{chunk-XWKZB5U5.js → chunk-ICSZF37W.js} +21 -150
  419. package/dist/chunk-IEXAKOEX.js +113 -0
  420. package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
  421. package/dist/chunk-LJ5W4ZBU.js +146 -0
  422. package/dist/chunk-LLUW26BS.js +255 -0
  423. package/dist/{chunk-GEA7E2FL.js → chunk-PIURX6IZ.js} +220 -2
  424. package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
  425. package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
  426. package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
  427. package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
  428. package/dist/{chunk-NFEGPWGS.js → chunk-TFGKUWHY.js} +1 -88
  429. package/dist/{chunk-LM4WDUQJ.js → chunk-TPA6PYN2.js} +1 -11
  430. package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
  431. package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
  432. package/dist/{chunk-COYMZ76S.js → chunk-VFMW3JUY.js} +1 -1
  433. package/dist/{chunk-YIOY2XEO.js → chunk-VHF66LCQ.js} +22 -94
  434. package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
  435. package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
  436. package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
  437. package/dist/chunk-WZH57M53.js +494 -0
  438. package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
  439. package/dist/{chunk-JRQVPFLF.js → chunk-XQ72DZKJ.js} +1 -1
  440. package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
  441. package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
  442. package/dist/chunk-ZPLJ24OV.js +93 -0
  443. package/dist/cloud-import/multipart.js +1 -1
  444. package/dist/cloud-import.js +9 -16
  445. package/dist/compose/renderer.js +18 -18
  446. package/dist/compose.js +21 -21
  447. package/dist/composition/audio.js +1 -1
  448. package/dist/composition/brand-kit.js +0 -5
  449. package/dist/composition/graphics-plan.js +4 -4
  450. package/dist/composition/ops.js +5 -5
  451. package/dist/composition/primitive-catalog.js +1 -1
  452. package/dist/composition/projection.js +28 -4
  453. package/dist/composition/reframe/kenBurns.js +0 -4
  454. package/dist/composition/reframe.js +4 -2
  455. package/dist/composition/timeline.js +1 -1
  456. package/dist/composition/validators/graphic-kinds.js +1 -1
  457. package/dist/composition/validators.js +8 -6
  458. package/dist/composition-ops.js +18 -135
  459. package/dist/composition.js +35 -9
  460. package/dist/context-JLLU3MYD.js +14 -0
  461. package/dist/core/render.js +9 -7
  462. package/dist/core/select.js +2 -6
  463. package/dist/core.js +5 -7
  464. package/dist/director/ai-sdk.d.ts +1 -0
  465. package/dist/director/ai-sdk.js +33 -0
  466. package/dist/director/domain.d.ts +1 -0
  467. package/dist/director/domain.js +62 -0
  468. package/dist/director/testing.d.ts +1 -0
  469. package/dist/director/testing.js +22 -0
  470. package/dist/director.d.ts +1 -0
  471. package/dist/director.js +86 -0
  472. package/dist/errors.js +1 -1
  473. package/dist/foundation.js +1 -0
  474. package/dist/mcp/adapter.js +5 -64
  475. package/dist/mcp/core.js +1 -1
  476. package/dist/mcp/curation.js +1 -1
  477. package/dist/mcp/server.js +4 -4
  478. package/dist/mcp.js +4 -4
  479. package/dist/media-model/generation.d.ts +1 -0
  480. package/dist/media-model/generation.js +40 -0
  481. package/dist/media-model/testing.js +1071 -718
  482. package/dist/media-model.js +38 -6
  483. package/dist/nle-export/server.js +328 -130
  484. package/dist/nle-export.js +22 -21
  485. package/dist/plane/contract.js +0 -3
  486. package/dist/primitives/backgrounds.js +2 -2
  487. package/dist/primitives/captions.js +0 -5
  488. package/dist/primitives/effects.js +2 -2
  489. package/dist/primitives/hero-text.js +2 -2
  490. package/dist/primitives/layouts.js +2 -2
  491. package/dist/primitives/lib/index.js +17 -17
  492. package/dist/primitives/lib/text/fitText.js +1 -1
  493. package/dist/primitives/lib/tokens.js +1 -1
  494. package/dist/primitives/lib.js +17 -17
  495. package/dist/primitives/scenes.js +2 -2
  496. package/dist/primitives/text.js +2 -2
  497. package/dist/primitives/ui-blocks.js +4 -4
  498. package/dist/primitives.js +21 -21
  499. package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
  500. package/dist/render-harness.js +24 -41
  501. package/package.json +39 -24
  502. package/dist/_members/account-model/index.js +0 -4
  503. package/dist/_members/account-model/testing/conversationStoreContract.js +0 -168
  504. package/dist/_members/account-model/testing/index.js +0 -7
  505. package/dist/_members/account-model/testing/restorePointStoreContract.js +0 -69
  506. package/dist/_members/account-model/types/index.js +0 -1
  507. package/dist/_members/account-model/validators/contextFile.js +0 -18
  508. package/dist/_members/account-model/validators/conversation.js +0 -95
  509. package/dist/_members/account-model/validators/dashboardInsight.js +0 -16
  510. package/dist/_members/account-model/validators/index.js +0 -7
  511. package/dist/_members/account-model/validators/sessionToken.js +0 -49
  512. package/dist/_members/account-model/validators/uploadToken.js +0 -16
  513. package/dist/_members/account-model/validators/userSettings.js +0 -12
  514. package/dist/_members/account-model/validators/workingComposition.js +0 -20
  515. package/dist/_members/brand-derivation/constants.js +0 -20
  516. package/dist/_members/brand-derivation/contrastSafe.js +0 -114
  517. package/dist/_members/brand-derivation/index.js +0 -1
  518. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +0 -162
  519. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +0 -1
  520. package/dist/_members/cloud-import/index.js +0 -241
  521. package/dist/_members/cloud-import/index.js.map +0 -1
  522. package/dist/_members/cloud-import/multipartUpload.js +0 -7
  523. package/dist/_members/cloud-import/multipartUpload.js.map +0 -1
  524. package/dist/_members/composition/audio/audioMix.js +0 -61
  525. package/dist/_members/composition/audio/index.js +0 -5
  526. package/dist/_members/composition/audio/mixStaging.js +0 -195
  527. package/dist/_members/composition/audio/musicPack.generated.js +0 -136
  528. package/dist/_members/composition/audio/musicPack.js +0 -36
  529. package/dist/_members/composition/audio/pack.generated.js +0 -603
  530. package/dist/_members/composition/audio/pack.js +0 -48
  531. package/dist/_members/composition/audio/palette.js +0 -134
  532. package/dist/_members/composition/autozoom/index.js +0 -83
  533. package/dist/_members/composition/brand-kit.js +0 -45
  534. package/dist/_members/composition/brief/contract.js +0 -209
  535. package/dist/_members/composition/color-grade.js +0 -80
  536. package/dist/_members/composition/depth.js +0 -8
  537. package/dist/_members/composition/fixtures/index.js +0 -143
  538. package/dist/_members/composition/fixtures/vaayaErrored.d.ts +0 -25
  539. package/dist/_members/composition/fixtures/vaayaErrored.js +0 -203
  540. package/dist/_members/composition/fonts.js +0 -162
  541. package/dist/_members/composition/graphics-plan/compile.js +0 -221
  542. package/dist/_members/composition/graphics-plan/index.js +0 -10
  543. package/dist/_members/composition/graphics-plan/instantiateMotif.js +0 -44
  544. package/dist/_members/composition/graphics-plan/motion.js +0 -66
  545. package/dist/_members/composition/graphics-plan/schemas.js +0 -261
  546. package/dist/_members/composition/graphics-plan/solve.js +0 -145
  547. package/dist/_members/composition/index.js +0 -5
  548. package/dist/_members/composition/invariants/clipPlacement.js +0 -69
  549. package/dist/_members/composition/invariants/composition.js +0 -28
  550. package/dist/_members/composition/invariants/errors.js +0 -10
  551. package/dist/_members/composition/invariants/etag.js +0 -38
  552. package/dist/_members/composition/invariants/ids.js +0 -33
  553. package/dist/_members/composition/invariants/index.js +0 -9
  554. package/dist/_members/composition/invariants/keyframes.js +0 -45
  555. package/dist/_members/composition/invariants/markers.js +0 -29
  556. package/dist/_members/composition/invariants/time.js +0 -20
  557. package/dist/_members/composition/invariants/tracks.js +0 -304
  558. package/dist/_members/composition/ops/compositionOps.js +0 -1056
  559. package/dist/_members/composition/ops/headlessStore.js +0 -94
  560. package/dist/_members/composition/ops/index.js +0 -4
  561. package/dist/_members/composition/ops/selectors.js +0 -118
  562. package/dist/_members/composition/ops/timeline-word.js +0 -1
  563. package/dist/_members/composition/ops/transcript.js +0 -77
  564. package/dist/_members/composition/ops/types.js +0 -16
  565. package/dist/_members/composition/primitive-catalog/catalogQuery.js +0 -150
  566. package/dist/_members/composition/primitive-catalog/disabled.js +0 -32
  567. package/dist/_members/composition/primitive-catalog/generated/meta.js +0 -15161
  568. package/dist/_members/composition/primitive-catalog/index.js +0 -46
  569. package/dist/_members/composition/primitive-catalog/paramValidation.js +0 -231
  570. package/dist/_members/composition/primitive-catalog/projection.js +0 -164
  571. package/dist/_members/composition/primitive-catalog/types.js +0 -14
  572. package/dist/_members/composition/projection/behind-placement.js +0 -62
  573. package/dist/_members/composition/projection/brandKit.js +0 -482
  574. package/dist/_members/composition/projection/cardTokens.js +0 -209
  575. package/dist/_members/composition/projection/composition-floor.js +0 -582
  576. package/dist/_members/composition/projection/cropProjection.js +0 -257
  577. package/dist/_members/composition/projection/index.js +0 -7
  578. package/dist/_members/composition/projection/occlusion-budget.js +0 -104
  579. package/dist/_members/composition/projection/safe-zones.js +0 -99
  580. package/dist/_members/composition/reframe/aspectLoss.js +0 -115
  581. package/dist/_members/composition/reframe/coverage.js +0 -62
  582. package/dist/_members/composition/reframe/derive.js +0 -73
  583. package/dist/_members/composition/reframe/index.js +0 -109
  584. package/dist/_members/composition/reframe/kenBurns.js +0 -64
  585. package/dist/_members/composition/reframe/shotScale.js +0 -176
  586. package/dist/_members/composition/reframe/trajectory.js +0 -124
  587. package/dist/_members/composition/timeline/compound.js +0 -134
  588. package/dist/_members/composition/timeline/index.js +0 -9
  589. package/dist/_members/composition/timeline/intent.js +0 -228
  590. package/dist/_members/composition/timeline/keyframes.js +0 -121
  591. package/dist/_members/composition/timeline/link.js +0 -59
  592. package/dist/_members/composition/timeline/occupancy.js +0 -36
  593. package/dist/_members/composition/timeline/placement.js +0 -74
  594. package/dist/_members/composition/timeline/plan.js +0 -31
  595. package/dist/_members/composition/timeline/resolve.js +0 -170
  596. package/dist/_members/composition/timeline/trims.js +0 -278
  597. package/dist/_members/composition/types/index.js +0 -1
  598. package/dist/_members/composition/validators/brandKit.js +0 -295
  599. package/dist/_members/composition/validators/composePlan.js +0 -113
  600. package/dist/_members/composition/validators/composition.js +0 -703
  601. package/dist/_members/composition/validators/font.js +0 -34
  602. package/dist/_members/composition/validators/graphicKinds.js +0 -30
  603. package/dist/_members/composition/validators/index.js +0 -9
  604. package/dist/_members/composition/validators/project.js +0 -29
  605. package/dist/_members/composition/validators/registry.js +0 -41
  606. package/dist/_members/composition/validators/render.js +0 -139
  607. package/dist/_members/composition/validators/session.js +0 -37
  608. package/dist/_members/composition/validators/webhook.js +0 -72
  609. package/dist/_members/composition-ops/alphaLayers.js +0 -141
  610. package/dist/_members/composition-ops/index.js +0 -637
  611. package/dist/_members/composition-ops/materializeGrid.js +0 -99
  612. package/dist/_members/composition-ops/opRecorder.js +0 -196
  613. package/dist/_members/composition-ops/recordingStore.js +0 -14
  614. package/dist/_members/composition-ops/replaceRegion.js +0 -102
  615. package/dist/_members/composition-ops/testFixtures.js +0 -19
  616. package/dist/_members/core/index.js +0 -5
  617. package/dist/_members/core/render/bookends.js +0 -53
  618. package/dist/_members/core/render/captions.js +0 -127
  619. package/dist/_members/core/render/compositionRender.js +0 -1249
  620. package/dist/_members/core/render/deriveTrajectory.js +0 -889
  621. package/dist/_members/core/render/emphasis.js +0 -16
  622. package/dist/_members/core/render/eval/cropBox.js +0 -139
  623. package/dist/_members/core/render/eval/inclusion.js +0 -96
  624. package/dist/_members/core/render/eval/index.js +0 -146
  625. package/dist/_members/core/render/eval/metrics.js +0 -94
  626. package/dist/_members/core/render/exportSettings.js +0 -65
  627. package/dist/_members/core/render/index.js +0 -20
  628. package/dist/_members/core/render/mapFaceToPerson.js +0 -73
  629. package/dist/_members/core/render/types.js +0 -8
  630. package/dist/_members/core/render/vcam/cameraPath.js +0 -248
  631. package/dist/_members/core/render/vcam/constants.js +0 -115
  632. package/dist/_members/core/render/vcam/errorCodes.js +0 -39
  633. package/dist/_members/core/render/vcam/framing.js +0 -136
  634. package/dist/_members/core/render/vcam/requiredRegion.js +0 -137
  635. package/dist/_members/core/render/vcam/shots.js +0 -53
  636. package/dist/_members/core/render/vcam/subjectSet.js +0 -388
  637. package/dist/_members/core/select/errorCodes.js +0 -38
  638. package/dist/_members/core/select/index.js +0 -26
  639. package/dist/_members/core/select/model.js +0 -18
  640. package/dist/_members/core/select/select.js +0 -244
  641. package/dist/_members/core/select/stabilize.js +0 -242
  642. package/dist/_members/core/types.js +0 -7
  643. package/dist/_members/errors/index.js +0 -1
  644. package/dist/_members/errors/registry.js +0 -560
  645. package/dist/_members/foundation/codes/index.js +0 -31
  646. package/dist/_members/foundation/index.js +0 -2
  647. package/dist/_members/foundation/primitives/index.js +0 -5
  648. package/dist/_members/mcp/adapter.js +0 -771
  649. package/dist/_members/mcp/burnedNames.js +0 -73
  650. package/dist/_members/mcp/core.js +0 -390
  651. package/dist/_members/mcp/curation.js +0 -792
  652. package/dist/_members/mcp/executor.js +0 -142
  653. package/dist/_members/mcp/format.js +0 -9
  654. package/dist/_members/mcp/generated/catalogPreviews.js +0 -95
  655. package/dist/_members/mcp/generated/harness.js +0 -81
  656. package/dist/_members/mcp/generated/operations.js +0 -131
  657. package/dist/_members/mcp/index.js +0 -50
  658. package/dist/_members/mcp/internalLoopTools.js +0 -109
  659. package/dist/_members/mcp/prompts.js +0 -45
  660. package/dist/_members/mcp/resources.js +0 -166
  661. package/dist/_members/mcp/server.js +0 -340
  662. package/dist/_members/mcp/wait.js +0 -378
  663. package/dist/_members/mcp/x402Meta.js +0 -66
  664. package/dist/_members/media-model/api.js +0 -175
  665. package/dist/_members/media-model/index.js +0 -1
  666. package/dist/_members/media-model/media-kind.js +0 -116
  667. package/dist/_members/media-model/testing/index.js +0 -1
  668. package/dist/_members/media-model/testing/mediaStoreContract.js +0 -82
  669. package/dist/_members/media-model/transcriptSearch.js +0 -70
  670. package/dist/_members/media-model/transcriptSearchCases.json +0 -79
  671. package/dist/_members/nle-export/compact-timeline.js +0 -73
  672. package/dist/_members/nle-export/compact-timeline.js.map +0 -1
  673. package/dist/_members/nle-export/composition-to-input.js +0 -147
  674. package/dist/_members/nle-export/composition-to-input.js.map +0 -1
  675. package/dist/_members/nle-export/fcpxml.js +0 -159
  676. package/dist/_members/nle-export/fcpxml.js.map +0 -1
  677. package/dist/_members/nle-export/index.js +0 -12
  678. package/dist/_members/nle-export/index.js.map +0 -1
  679. package/dist/_members/nle-export/premiere.js +0 -161
  680. package/dist/_members/nle-export/premiere.js.map +0 -1
  681. package/dist/_members/nle-export/server/index.js +0 -2
  682. package/dist/_members/nle-export/server/index.js.map +0 -1
  683. package/dist/_members/nle-export/server/pack-zip.js +0 -38
  684. package/dist/_members/nle-export/server/pack-zip.js.map +0 -1
  685. package/dist/_members/nle-export/srt.js +0 -50
  686. package/dist/_members/nle-export/srt.js.map +0 -1
  687. package/dist/_members/nle-export/types.js +0 -9
  688. package/dist/_members/nle-export/types.js.map +0 -1
  689. package/dist/_members/nle-export/xml/index.js +0 -11
  690. package/dist/_members/nle-export/xml/index.js.map +0 -1
  691. package/dist/_members/nle-export/xml-utils.js +0 -48
  692. package/dist/_members/nle-export/xml-utils.js.map +0 -1
  693. package/dist/_members/perception/activeSpeaker.js +0 -103
  694. package/dist/_members/perception/audioQuality.js +0 -76
  695. package/dist/_members/perception/energyBeat.js +0 -99
  696. package/dist/_members/perception/identityMatch.js +0 -91
  697. package/dist/_members/perception/index.js +0 -48
  698. package/dist/_members/perception/visualQuality.js +0 -95
  699. package/dist/_members/plane/conformance.js +0 -90
  700. package/dist/_members/plane/contract.js +0 -49
  701. package/dist/_members/plane/index.js +0 -16
  702. package/dist/_members/primitives/backgrounds/index.js +0 -32
  703. package/dist/_members/primitives/backgrounds/index.js.map +0 -1
  704. package/dist/_members/primitives/captions/index.js +0 -398
  705. package/dist/_members/primitives/captions/index.js.map +0 -1
  706. package/dist/_members/primitives/chunk-2LVE4UIT.js +0 -139
  707. package/dist/_members/primitives/chunk-2LVE4UIT.js.map +0 -1
  708. package/dist/_members/primitives/chunk-3IQUH6KK.js +0 -20
  709. package/dist/_members/primitives/chunk-3IQUH6KK.js.map +0 -1
  710. package/dist/_members/primitives/chunk-3OMURV6Q.js +0 -112
  711. package/dist/_members/primitives/chunk-3OMURV6Q.js.map +0 -1
  712. package/dist/_members/primitives/chunk-4IS6TMEG.js +0 -21
  713. package/dist/_members/primitives/chunk-4IS6TMEG.js.map +0 -1
  714. package/dist/_members/primitives/chunk-5MWGAEGQ.js +0 -1644
  715. package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +0 -1
  716. package/dist/_members/primitives/chunk-7RRPFPQK.js +0 -15
  717. package/dist/_members/primitives/chunk-7RRPFPQK.js.map +0 -1
  718. package/dist/_members/primitives/chunk-DH5TRZK2.js +0 -125
  719. package/dist/_members/primitives/chunk-DH5TRZK2.js.map +0 -1
  720. package/dist/_members/primitives/chunk-E3KNUSFG.js +0 -2337
  721. package/dist/_members/primitives/chunk-E3KNUSFG.js.map +0 -1
  722. package/dist/_members/primitives/chunk-G2B3G4HK.js +0 -47
  723. package/dist/_members/primitives/chunk-G2B3G4HK.js.map +0 -1
  724. package/dist/_members/primitives/chunk-HFPFGZXT.js +0 -1494
  725. package/dist/_members/primitives/chunk-HFPFGZXT.js.map +0 -1
  726. package/dist/_members/primitives/chunk-HIWVFZVH.js +0 -19
  727. package/dist/_members/primitives/chunk-HIWVFZVH.js.map +0 -1
  728. package/dist/_members/primitives/chunk-IDAL6G3Y.js +0 -134
  729. package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +0 -1
  730. package/dist/_members/primitives/chunk-KNC6JP5F.js +0 -34
  731. package/dist/_members/primitives/chunk-KNC6JP5F.js.map +0 -1
  732. package/dist/_members/primitives/chunk-KYRDVZST.js +0 -459
  733. package/dist/_members/primitives/chunk-KYRDVZST.js.map +0 -1
  734. package/dist/_members/primitives/chunk-LWLHS2NS.js +0 -3410
  735. package/dist/_members/primitives/chunk-LWLHS2NS.js.map +0 -1
  736. package/dist/_members/primitives/chunk-QAQ3P7DR.js +0 -8855
  737. package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +0 -1
  738. package/dist/_members/primitives/chunk-ROV2ODWC.js +0 -81
  739. package/dist/_members/primitives/chunk-ROV2ODWC.js.map +0 -1
  740. package/dist/_members/primitives/chunk-TCRC2FH3.js +0 -183
  741. package/dist/_members/primitives/chunk-TCRC2FH3.js.map +0 -1
  742. package/dist/_members/primitives/chunk-US4YEDAA.js +0 -96
  743. package/dist/_members/primitives/chunk-US4YEDAA.js.map +0 -1
  744. package/dist/_members/primitives/chunk-UVKRO5ER.js +0 -13
  745. package/dist/_members/primitives/chunk-UVKRO5ER.js.map +0 -1
  746. package/dist/_members/primitives/chunk-W4EIIF2I.js +0 -10
  747. package/dist/_members/primitives/chunk-W4EIIF2I.js.map +0 -1
  748. package/dist/_members/primitives/chunk-WPGKIPCO.js +0 -3563
  749. package/dist/_members/primitives/chunk-WPGKIPCO.js.map +0 -1
  750. package/dist/_members/primitives/chunk-WZFLEGMD.js +0 -1435
  751. package/dist/_members/primitives/chunk-WZFLEGMD.js.map +0 -1
  752. package/dist/_members/primitives/chunk-XHU3WBEI.js +0 -33
  753. package/dist/_members/primitives/chunk-XHU3WBEI.js.map +0 -1
  754. package/dist/_members/primitives/chunk-YN7WTZZ7.js +0 -46
  755. package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +0 -1
  756. package/dist/_members/primitives/effects/index.js +0 -30
  757. package/dist/_members/primitives/effects/index.js.map +0 -1
  758. package/dist/_members/primitives/hero-text/index.js +0 -14
  759. package/dist/_members/primitives/hero-text/index.js.map +0 -1
  760. package/dist/_members/primitives/index.js +0 -64
  761. package/dist/_members/primitives/index.js.map +0 -1
  762. package/dist/_members/primitives/layouts/index.js +0 -24
  763. package/dist/_members/primitives/layouts/index.js.map +0 -1
  764. package/dist/_members/primitives/lib/easings.js +0 -26
  765. package/dist/_members/primitives/lib/easings.js.map +0 -1
  766. package/dist/_members/primitives/lib/index.js +0 -74
  767. package/dist/_members/primitives/lib/index.js.map +0 -1
  768. package/dist/_members/primitives/lib/palette.js +0 -72
  769. package/dist/_members/primitives/lib/palette.js.map +0 -1
  770. package/dist/_members/primitives/lib/preview.js +0 -8
  771. package/dist/_members/primitives/lib/preview.js.map +0 -1
  772. package/dist/_members/primitives/lib/schema.js +0 -12
  773. package/dist/_members/primitives/lib/schema.js.map +0 -1
  774. package/dist/_members/primitives/lib/seeded-random.js +0 -14
  775. package/dist/_members/primitives/lib/seeded-random.js.map +0 -1
  776. package/dist/_members/primitives/lib/text/contrast.js +0 -12
  777. package/dist/_members/primitives/lib/text/contrast.js.map +0 -1
  778. package/dist/_members/primitives/lib/text/fill.js +0 -8
  779. package/dist/_members/primitives/lib/text/fill.js.map +0 -1
  780. package/dist/_members/primitives/lib/text/fitText.js +0 -10
  781. package/dist/_members/primitives/lib/text/fitText.js.map +0 -1
  782. package/dist/_members/primitives/lib/text/marker.js +0 -8
  783. package/dist/_members/primitives/lib/text/marker.js.map +0 -1
  784. package/dist/_members/primitives/lib/text/motion.js +0 -16
  785. package/dist/_members/primitives/lib/text/motion.js.map +0 -1
  786. package/dist/_members/primitives/lib/text/recolor.js +0 -8
  787. package/dist/_members/primitives/lib/text/recolor.js.map +0 -1
  788. package/dist/_members/primitives/lib/text/spec.js +0 -1
  789. package/dist/_members/primitives/lib/text/spec.js.map +0 -1
  790. package/dist/_members/primitives/lib/text/stage.js +0 -8
  791. package/dist/_members/primitives/lib/text/stage.js.map +0 -1
  792. package/dist/_members/primitives/lib/text/typeface.js +0 -8
  793. package/dist/_members/primitives/lib/text/typeface.js.map +0 -1
  794. package/dist/_members/primitives/lib/tokens.js +0 -24
  795. package/dist/_members/primitives/lib/tokens.js.map +0 -1
  796. package/dist/_members/primitives/lib/types.js +0 -1
  797. package/dist/_members/primitives/lib/types.js.map +0 -1
  798. package/dist/_members/primitives/params-required.json +0 -153
  799. package/dist/_members/primitives/scenes/index.js +0 -25
  800. package/dist/_members/primitives/scenes/index.js.map +0 -1
  801. package/dist/_members/primitives/subject-foreground/index.js +0 -30
  802. package/dist/_members/primitives/subject-foreground/index.js.map +0 -1
  803. package/dist/_members/primitives/text/index.js +0 -57
  804. package/dist/_members/primitives/text/index.js.map +0 -1
  805. package/dist/_members/primitives/transitions/index.js +0 -67
  806. package/dist/_members/primitives/transitions/index.js.map +0 -1
  807. package/dist/_members/primitives/ui-blocks/index.js +0 -76
  808. package/dist/_members/primitives/ui-blocks/index.js.map +0 -1
  809. package/dist/_members/primitives/version-map.json +0 -105
  810. package/dist/_members/primitives/workspace.js +0 -60
  811. package/dist/_members/primitives/workspace.js.map +0 -1
  812. package/dist/chunk-37NJ27UU.js +0 -501
  813. package/dist/chunk-6EQXLEP6.js +0 -194
  814. package/dist/chunk-MXFAADCQ.js +0 -735
  815. package/dist/context-OKX3HHFS.js +0 -14
@@ -1,134 +0,0 @@
1
- import { InvariantError } from "../invariants/errors";
2
- import { retimeChannel } from "./keyframes";
3
- export const MAX_COMPOUND_DEPTH = 4;
4
- /** Does this composition contain any compound clip at all? Cheap gate. */
5
- export function hasCompoundClips(composition) {
6
- for (const track of composition.tracks) {
7
- for (const item of track.contents) {
8
- if ("source" in item && item.source.kind === "composition")
9
- return true;
10
- }
11
- }
12
- return false;
13
- }
14
- export function flattenCompoundClips(composition, resolve) {
15
- return flatten(composition, resolve, [], 0);
16
- }
17
- function flatten(composition, resolve, path, depth) {
18
- if (!hasCompoundClips(composition))
19
- return composition;
20
- if (depth >= MAX_COMPOUND_DEPTH) {
21
- throw new InvariantError({
22
- code: "compound_depth_exceeded",
23
- message: `compound clips nest deeper than ${MAX_COMPOUND_DEPTH} ` +
24
- `(path: ${path.join(" → ") || "(root)"}) — flattening refused`,
25
- details: { path, maxDepth: MAX_COMPOUND_DEPTH },
26
- });
27
- }
28
- const outTracks = [];
29
- for (const track of composition.tracks) {
30
- const kept = [];
31
- /** Tracks minted from compound children on this host track, in order. */
32
- const minted = [];
33
- for (const item of track.contents) {
34
- if (!("source" in item) || item.source.kind !== "composition") {
35
- kept.push(item);
36
- continue;
37
- }
38
- const compound = item;
39
- const source = compound.source;
40
- if (path.includes(source.compositionId)) {
41
- throw new InvariantError({
42
- code: "compound_cycle",
43
- message: `composition "${source.compositionId}" embeds itself ` +
44
- `(${[...path, source.compositionId].join(" → ")}) — there is no finite flattening`,
45
- details: { cycle: [...path, source.compositionId] },
46
- });
47
- }
48
- const child = resolve(source.compositionId);
49
- if (!child) {
50
- throw new InvariantError({
51
- code: "compound_unresolved",
52
- message: `clip "${compound.id}" embeds composition "${source.compositionId}", ` +
53
- `which the caller could not resolve — rendering without it would ship a ` +
54
- `deliverable missing a sequence`,
55
- details: { clipId: compound.id, compositionId: source.compositionId },
56
- });
57
- }
58
- const flatChild = flatten(child, resolve, [...path, source.compositionId], depth + 1);
59
- // Minted tracks inherit the HOST track's disabled state — a compound clip
60
- // on a muted track must vanish with it, not outlive it on lanes of its
61
- // own (review finding 2026-08-24).
62
- const projected = projectChild(flatChild, compound, source);
63
- minted.push(...(track.enabled === false
64
- ? projected.map((t) => ({ ...t, enabled: false }))
65
- : projected));
66
- }
67
- outTracks.push({ ...track, contents: kept });
68
- outTracks.push(...minted);
69
- }
70
- return { ...composition, tracks: outTracks };
71
- }
72
- /** The child's tracks, windowed and shifted into the host's time. */
73
- function projectChild(child, compound, source) {
74
- const windowStart = source.trim?.start ?? 0;
75
- const windowEnd = Math.min(source.trim?.end ?? Number.POSITIVE_INFINITY, windowStart + compound.duration);
76
- const out = [];
77
- for (const track of child.tracks) {
78
- const contents = [];
79
- for (const item of track.contents) {
80
- if (!("source" in item))
81
- continue;
82
- const clip = item;
83
- const clipEnd = clip.startTime + clip.duration;
84
- const start = Math.max(clip.startTime, windowStart);
85
- const end = Math.min(clipEnd, windowEnd);
86
- if (end - start <= 1e-6)
87
- continue; // outside the window
88
- const headDelta = start - clip.startTime;
89
- const duration = end - start;
90
- const projected = {
91
- ...clip,
92
- id: `${compound.id}:${clip.id}`,
93
- startTime: compound.startTime + (start - windowStart),
94
- duration,
95
- source: windowedSource(clip, headDelta, duration),
96
- ...(clip.animate ? { animate: windowedAnimate(clip, headDelta, duration) } : {}),
97
- // A child's link group must not merge with an identically-named one in
98
- // the host or a sibling instance — scope it like the ids.
99
- ...(clip.linkGroupId ? { linkGroupId: `${compound.id}:${clip.linkGroupId}` } : {}),
100
- };
101
- contents.push(projected);
102
- }
103
- if (contents.length > 0) {
104
- out.push({
105
- ...track,
106
- id: `${compound.id}:${track.id}`,
107
- contents,
108
- });
109
- }
110
- }
111
- return out;
112
- }
113
- /** The clip's source with its own window advanced by the flatten cut. */
114
- function windowedSource(clip, headDelta, duration) {
115
- const source = clip.source;
116
- if (source.kind !== "media" || !source.trim)
117
- return source;
118
- const rate = source.playbackRate ?? 1;
119
- const start = source.trim.start + headDelta * rate;
120
- return { ...source, trim: { start, end: start + duration * rate } };
121
- }
122
- function windowedAnimate(clip, headDelta, duration) {
123
- if (!clip.animate)
124
- return undefined;
125
- const out = {};
126
- for (const [param, channel] of Object.entries(clip.animate)) {
127
- if (!channel)
128
- continue;
129
- const retimed = retimeChannel(channel, headDelta, duration);
130
- if (retimed.length >= 2)
131
- out[param] = retimed;
132
- }
133
- return Object.keys(out).length > 0 ? out : undefined;
134
- }
@@ -1,9 +0,0 @@
1
- export * from "./occupancy";
2
- export * from "./plan";
3
- export * from "./placement";
4
- export * from "./resolve";
5
- export * from "./keyframes";
6
- export * from "./compound";
7
- export * from "./trims";
8
- export * from "./link";
9
- export * from "./intent";
@@ -1,228 +0,0 @@
1
- import { collidingClips } from "./occupancy";
2
- import { resolvePlacement } from "./placement";
3
- import { resolveOverlaps } from "./resolve";
4
- import { emptyPlan } from "./plan";
5
- import { expandClipIdsToLinkGroups } from "./link";
6
- /** Occupancy rows only — the full clip rows come from `clipsById`. */
7
- function projectTracks(composition) {
8
- return composition.tracks.map((t) => ({
9
- id: t.id,
10
- kind: t.kind,
11
- contents: t.contents
12
- .filter((c) => "source" in c && !!c.id)
13
- .map((c) => ({ id: c.id, startTime: c.startTime, duration: c.duration })),
14
- }));
15
- }
16
- function indexClips(composition) {
17
- const clipsById = new Map();
18
- const trackIdByClipId = new Map();
19
- for (const track of composition.tracks) {
20
- for (const item of track.contents) {
21
- if (!("source" in item))
22
- continue;
23
- const clip = item;
24
- clipsById.set(clip.id, clip);
25
- trackIdByClipId.set(clip.id, track.id);
26
- }
27
- }
28
- return { clipsById, trackIdByClipId };
29
- }
30
- /** `source.kind` is what compatibility is judged on, not the track family. */
31
- const sourceKindOf = (clip) => clip.source.kind;
32
- /** Keep the mutable occupancy in step with the ops we just emitted. */
33
- function applyOpsToOccupancy(track, ops) {
34
- for (const op of ops) {
35
- switch (op.op) {
36
- case "removeClip":
37
- track.contents = track.contents.filter((c) => c.id !== op.clipId);
38
- break;
39
- case "updateClip": {
40
- const row = track.contents.find((c) => c.id === op.clipId);
41
- if (!row)
42
- break;
43
- if (op.patch.startTime != null)
44
- row.startTime = op.patch.startTime;
45
- if (op.patch.duration != null)
46
- row.duration = op.patch.duration;
47
- break;
48
- }
49
- case "insertClip":
50
- track.contents.push({
51
- id: op.clip.id,
52
- startTime: op.clip.startTime,
53
- duration: op.clip.duration,
54
- });
55
- break;
56
- default:
57
- break;
58
- }
59
- }
60
- }
61
- /**
62
- * Every requested move, plus one per unrequested link partner shifted by the
63
- * same delta. A partner already named explicitly is not duplicated.
64
- */
65
- function expandMovesToLinkGroups(composition, moves, clipsById) {
66
- const named = new Set(moves.map((m) => m.clipId));
67
- const out = [...moves];
68
- for (const move of moves) {
69
- const clip = clipsById.get(move.clipId);
70
- if (!clip?.linkGroupId)
71
- continue;
72
- const delta = move.startTime - clip.startTime;
73
- for (const partnerId of expandClipIdsToLinkGroups(composition, [move.clipId])) {
74
- if (named.has(partnerId))
75
- continue;
76
- const partner = clipsById.get(partnerId);
77
- if (!partner)
78
- continue;
79
- named.add(partnerId);
80
- out.push({
81
- clipId: partnerId,
82
- // The partner keeps its own lane — linking couples TIME, not track.
83
- toTrackId: trackIdOf(composition, partnerId) ?? move.toTrackId,
84
- startTime: Math.max(0, partner.startTime + delta),
85
- duration: partner.duration,
86
- });
87
- }
88
- }
89
- return out;
90
- }
91
- function trackIdOf(composition, clipId) {
92
- for (const track of composition.tracks) {
93
- for (const item of track.contents) {
94
- if ("source" in item && item.id === clipId)
95
- return track.id;
96
- }
97
- }
98
- return null;
99
- }
100
- export function resolveMoveIntent(args) {
101
- const { composition, intent, newClipId } = args;
102
- const policy = intent.policy ?? "resolve";
103
- const plan = emptyPlan(intent.label ?? (intent.moves.length > 1 ? "Move clips" : "Move clip"));
104
- const { clipsById, trackIdByClipId } = indexClips(composition);
105
- const tracks = projectTracks(composition);
106
- // A move that names one member of a link group moves the whole group, by the
107
- // same delta. Selection expansion already covers the UI path; this covers the
108
- // agent's, which names clip ids directly and never went through a selection.
109
- const withPartners = expandMovesToLinkGroups(composition, intent.moves, clipsById);
110
- const movingIds = withPartners.map((m) => m.clipId);
111
- // Every moving clip leaves its lane before anything is placed, so a clip
112
- // never collides with where it used to be — including the whole group, which
113
- // is why this is done up front rather than per move.
114
- for (const track of tracks) {
115
- track.contents = track.contents.filter((c) => !movingIds.includes(c.id));
116
- }
117
- const selection = [];
118
- for (const move of withPartners) {
119
- const clip = clipsById.get(move.clipId);
120
- if (!clip) {
121
- plan.refusals.push({ reason: "clip-not-found", entity: { kind: "clip", clipId: move.clipId } });
122
- continue;
123
- }
124
- if (!(move.duration > 0)) {
125
- plan.refusals.push({ reason: "zero-duration", entity: { kind: "clip", clipId: move.clipId } });
126
- continue;
127
- }
128
- const startTime = Math.max(0, move.startTime);
129
- const span = { startTime, duration: move.duration, excludeClipIds: movingIds };
130
- // `allowOccupied` — a user dragging a clip onto a busy lane means "put it
131
- // there and deal with what is in the way", not "find me somewhere near it".
132
- const placement = resolvePlacement({
133
- tracks,
134
- sourceKind: sourceKindOf(clip),
135
- spans: [span],
136
- strategy: { type: "explicit", trackId: move.toTrackId },
137
- allowOccupied: true,
138
- });
139
- if (placement.kind === "refused") {
140
- plan.refusals.push({
141
- reason: placement.reason,
142
- entity: { kind: "clip", clipId: move.clipId },
143
- });
144
- continue;
145
- }
146
- if (placement.kind === "newTrack") {
147
- // `explicit` + `allowOccupied` never mints a lane; a newTrack result here
148
- // would mean the resolver changed under us. Refuse rather than invent one.
149
- plan.refusals.push({
150
- reason: "track-not-found",
151
- entity: { kind: "clip", clipId: move.clipId },
152
- });
153
- continue;
154
- }
155
- const target = tracks[placement.trackIndex];
156
- const trackKind = placement.trackKind;
157
- const resolution = resolveOverlaps({
158
- track: target,
159
- trackKind,
160
- span,
161
- policy,
162
- clipsById,
163
- newClipId,
164
- });
165
- if (resolution.refusals.length > 0) {
166
- plan.refusals.push(...resolution.refusals);
167
- // A move that cannot clear its landing zone is not applied at all — a
168
- // partial group move is worse than none, because half a gesture is a
169
- // state the user did not ask for and cannot name in undo.
170
- continue;
171
- }
172
- plan.ops.push(...resolution.ops);
173
- applyOpsToOccupancy(target, resolution.ops);
174
- const fromTrackId = trackIdByClipId.get(move.clipId);
175
- if (fromTrackId !== placement.trackId) {
176
- plan.ops.push({
177
- op: "moveToTrack",
178
- clipId: move.clipId,
179
- toTrackId: placement.trackId,
180
- startTime,
181
- });
182
- // `moveClipToTrack` preserves duration, so a gesture that also resized
183
- // needs the geometry patch after the move.
184
- if (Math.abs(move.duration - clip.duration) > 1e-6) {
185
- plan.ops.push({
186
- op: "updateClip",
187
- clipId: move.clipId,
188
- trackKind,
189
- patch: { duration: move.duration },
190
- });
191
- }
192
- }
193
- else {
194
- plan.ops.push({
195
- op: "updateClip",
196
- clipId: move.clipId,
197
- trackKind,
198
- patch: { startTime, duration: move.duration },
199
- });
200
- }
201
- target.contents.push({ id: move.clipId, startTime, duration: move.duration });
202
- selection.push({ kind: "clip", clipId: move.clipId });
203
- }
204
- plan.resultingSelection = selection;
205
- return plan;
206
- }
207
- /**
208
- * The gate's read-only half: does this composition still satisfy the one rule
209
- * the move path exists to protect? Kept next to the resolver so a resolution
210
- * bug fails here rather than reaching the document.
211
- */
212
- export function planLeavesOverlaps(composition) {
213
- const found = [];
214
- for (const track of projectTracks(composition)) {
215
- for (const row of track.contents) {
216
- const others = collidingClips(track, {
217
- startTime: row.startTime,
218
- duration: row.duration,
219
- excludeClipIds: [row.id],
220
- });
221
- for (const other of others) {
222
- if (row.id < other.id)
223
- found.push({ trackId: track.id, clipIds: [row.id, other.id] });
224
- }
225
- }
226
- }
227
- return found;
228
- }
@@ -1,121 +0,0 @@
1
- /** Named easings, as cubic-bezier control points. EXPORTED so the curve
2
- * editor draws exactly what the interpolator evaluates — a UI restating these
3
- * numbers is a curve that lies about the motion. */
4
- export const EASING_CONTROL_POINTS = {
5
- linear: [0, 0, 1, 1],
6
- ease: [0.25, 0.1, 0.25, 1],
7
- easeIn: [0.42, 0, 1, 1],
8
- easeOut: [0, 0, 0.58, 1],
9
- easeInOut: [0.42, 0, 0.58, 1],
10
- };
11
- function controlPoints(easing) {
12
- if (!easing)
13
- return EASING_CONTROL_POINTS.linear;
14
- if (typeof easing === "string")
15
- return EASING_CONTROL_POINTS[easing] ?? EASING_CONTROL_POINTS.linear;
16
- return easing.cubicBezier;
17
- }
18
- /**
19
- * y at x for a cubic-bezier easing curve, x ∈ [0,1].
20
- *
21
- * Newton-Raphson with a bisection fallback — the standard approach, and the
22
- * fallback matters: Newton diverges on the near-vertical segments that the
23
- * overshoot presets (a "pop") deliberately have.
24
- */
25
- export function bezierEasing(t, [x1, y1, x2, y2]) {
26
- if (t <= 0)
27
- return 0;
28
- if (t >= 1)
29
- return 1;
30
- if (x1 === y1 && x2 === y2)
31
- return t; // linear
32
- const curveX = (u) => {
33
- const v = 1 - u;
34
- return 3 * v * v * u * x1 + 3 * v * u * u * x2 + u * u * u;
35
- };
36
- const curveY = (u) => {
37
- const v = 1 - u;
38
- return 3 * v * v * u * y1 + 3 * v * u * u * y2 + u * u * u;
39
- };
40
- const slopeX = (u) => {
41
- const v = 1 - u;
42
- return 3 * v * v * x1 + 6 * v * u * (x2 - x1) + 3 * u * u * (1 - x2);
43
- };
44
- let u = t;
45
- for (let i = 0; i < 8; i++) {
46
- const x = curveX(u) - t;
47
- if (Math.abs(x) < 1e-6)
48
- return curveY(u);
49
- const d = slopeX(u);
50
- if (Math.abs(d) < 1e-6)
51
- break;
52
- u -= x / d;
53
- }
54
- let lo = 0;
55
- let hi = 1;
56
- u = t;
57
- for (let i = 0; i < 20; i++) {
58
- const x = curveX(u);
59
- if (Math.abs(x - t) < 1e-6)
60
- break;
61
- if (x < t)
62
- lo = u;
63
- else
64
- hi = u;
65
- u = (lo + hi) / 2;
66
- }
67
- return curveY(u);
68
- }
69
- /** Channel sorted by time. Authoring order is not guaranteed to be time order. */
70
- export function sortedChannel(channel) {
71
- return [...channel].sort((a, b) => a.time - b.time);
72
- }
73
- /**
74
- * The channel's value at `clipTime` (seconds from the clip's start).
75
- *
76
- * Holds flat outside the channel's range rather than extrapolating — a value
77
- * invented beyond the last keyframe is a value nobody authored, and for
78
- * opacity or scale it is the difference between a clean hold and a fade to
79
- * something absurd.
80
- */
81
- export function valueAt(channel, clipTime) {
82
- const points = sortedChannel(channel);
83
- if (points.length === 0)
84
- return 0;
85
- if (clipTime <= points[0].time)
86
- return points[0].value;
87
- const last = points[points.length - 1];
88
- if (clipTime >= last.time)
89
- return last.value;
90
- let i = 0;
91
- while (i < points.length - 1 && points[i + 1].time <= clipTime)
92
- i++;
93
- const a = points[i];
94
- const b = points[i + 1];
95
- const span = b.time - a.time;
96
- if (span <= 0)
97
- return b.value;
98
- // The easing belongs to the keyframe being APPROACHED — "how do I arrive
99
- // here" — which is the convention every timeline UI draws.
100
- const eased = bezierEasing((clipTime - a.time) / span, controlPoints(b.easing));
101
- return a.value + (b.value - a.value) * eased;
102
- }
103
- /** True when this param is animated on this clip. */
104
- export function isAnimated(animate, param) {
105
- const channel = animate?.[param];
106
- return !!channel && channel.length >= 2;
107
- }
108
- /**
109
- * Re-time a channel for a clip whose window moved.
110
- *
111
- * The ONE case clip-relative time does not survive for free: trimming the head
112
- * shifts every keyframe's origin. Keyframes that fall outside the new window
113
- * are dropped rather than clamped — clamping would silently stack several onto
114
- * the same instant, which is exactly the `varying_keyframe_duplicate_time`
115
- * violation the invariants refuse.
116
- */
117
- export function retimeChannel(channel, headDelta, newDuration) {
118
- return sortedChannel(channel)
119
- .map((k) => ({ ...k, time: k.time - headDelta }))
120
- .filter((k) => k.time >= 0 && k.time <= newDuration);
121
- }
@@ -1,59 +0,0 @@
1
- /** Every clip id sharing a group with any of `clipIds`, including the inputs. */
2
- export function expandClipIdsToLinkGroups(composition, clipIds) {
3
- const seedIds = new Set(clipIds);
4
- if (seedIds.size === 0)
5
- return [];
6
- const groupsWanted = new Set();
7
- const all = [];
8
- for (const track of composition.tracks) {
9
- for (const item of track.contents) {
10
- if (!("source" in item))
11
- continue;
12
- const clip = item;
13
- all.push(clip);
14
- if (seedIds.has(clip.id) && clip.linkGroupId)
15
- groupsWanted.add(clip.linkGroupId);
16
- }
17
- }
18
- const out = new Set(seedIds);
19
- if (groupsWanted.size > 0) {
20
- for (const clip of all) {
21
- if (clip.linkGroupId && groupsWanted.has(clip.linkGroupId))
22
- out.add(clip.id);
23
- }
24
- }
25
- return [...out];
26
- }
27
- /**
28
- * Selection with every link partner pulled in.
29
- *
30
- * Non-clip entities pass through untouched — a keyframe is not linked to
31
- * anything by this mechanism, and silently widening it would be worse than not
32
- * handling it.
33
- */
34
- export function expandToLinkGroup(composition, entities) {
35
- const clipIds = entities.filter((e) => e.kind === "clip").map((e) => e.clipId);
36
- if (clipIds.length === 0)
37
- return [...entities];
38
- const expanded = expandClipIdsToLinkGroups(composition, clipIds);
39
- const known = new Set(clipIds);
40
- const out = [...entities];
41
- for (const id of expanded) {
42
- if (!known.has(id))
43
- out.push({ kind: "clip", clipId: id });
44
- }
45
- return out;
46
- }
47
- /** The other members of `clipId`'s group. Empty when it is unlinked. */
48
- export function linkPartners(composition, clipId) {
49
- return expandClipIdsToLinkGroups(composition, [clipId]).filter((id) => id !== clipId);
50
- }
51
- /**
52
- * Ids for a new group. Returned rather than assigned so the caller decides how
53
- * the clips get updated — the kernel never mutates a composition.
54
- */
55
- export function makeLinkGroup(clipIds, newGroupId) {
56
- if (clipIds.length < 2)
57
- return null;
58
- return { linkGroupId: newGroupId(), clipIds };
59
- }
@@ -1,36 +0,0 @@
1
- const excluded = (span, id) => !!span.excludeClipIds && span.excludeClipIds.includes(id);
2
- /** Half-open overlap: `[aStart, aEnd)` against `[bStart, bEnd)`. */
3
- export function spansOverlap(aStart, aDuration, bStart, bDuration) {
4
- return aStart < bStart + bDuration && aStart + aDuration > bStart;
5
- }
6
- /** A span fits when it overlaps nothing already on the track. */
7
- export function spansFit(track, spans) {
8
- return spans.every((span) => collidingClips(track, span).length === 0);
9
- }
10
- /**
11
- * Everything on `track` that this span would sit on top of, in start order.
12
- * Returned rather than counted because the resolution strategies need to know
13
- * WHICH clips collide and HOW — a clip fully covered by the incoming span is a
14
- * different edit from one it merely clips the tail of.
15
- */
16
- export function collidingClips(track, span) {
17
- return track.contents
18
- .filter((c) => !excluded(span, c.id) &&
19
- c.duration > 0 &&
20
- spansOverlap(span.startTime, span.duration, c.startTime, c.duration))
21
- .slice()
22
- .sort((a, b) => a.startTime - b.startTime);
23
- }
24
- export function classifyOverlap(span, clip) {
25
- const spanEnd = span.startTime + span.duration;
26
- const clipEnd = clip.startTime + clip.duration;
27
- const startsAtOrBefore = span.startTime <= clip.startTime;
28
- const endsAtOrAfter = spanEnd >= clipEnd;
29
- if (startsAtOrBefore && endsAtOrAfter)
30
- return "covers";
31
- if (startsAtOrBefore)
32
- return "trims-head";
33
- if (endsAtOrAfter)
34
- return "trims-tail";
35
- return "engulfed-by";
36
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * WHERE A SOURCE GOES.
3
- *
4
- * Hoisted from `cueframe/src/components/Timeline/fabric/placement.ts` (2026-08-23)
5
- * for the reason the module's own header predicted and the repo rule requires:
6
- * the cloud director writes compositions too, so a placement rule that lives in
7
- * the desktop is a rule the cloud does not have. This is now the single home.
8
- *
9
- * The vocabulary — strategy → resolve → a result that is either an existing
10
- * track or an instruction to mint one at an index — is unchanged. What changed
11
- * is that the DRAG path can reach it: previously the only caller was the media
12
- * drop path, so two of the four strategies had never been constructed by
13
- * production code at all.
14
- */
15
- import { isSourceKindCompatible } from "../invariants/tracks";
16
- import { spansFit } from "./occupancy";
17
- /** The track kind a source belongs on, or null when nothing accepts it. */
18
- export function trackKindForSource(sourceKind) {
19
- const kinds = ["video", "audio", "image", "overlay", "effect"];
20
- return kinds.find((k) => isSourceKindCompatible(k, sourceKind)) ?? null;
21
- }
22
- export function resolvePlacement(args) {
23
- const { tracks, sourceKind, trackKind, spans, strategy, allowOccupied = false } = args;
24
- const preferredKind = trackKind ?? trackKindForSource(sourceKind);
25
- if (!preferredKind)
26
- return { kind: "refused", reason: "no-compatible-track-kind" };
27
- const fits = (t) => trackKind ? t.kind === trackKind : isSourceKindCompatible(t.kind, sourceKind);
28
- const asExisting = (index) => ({
29
- kind: "existingTrack",
30
- trackId: tracks[index].id,
31
- trackIndex: index,
32
- trackKind: tracks[index].kind,
33
- });
34
- switch (strategy.type) {
35
- case "explicit": {
36
- const index = tracks.findIndex((t) => t.id === strategy.trackId);
37
- if (index < 0)
38
- return { kind: "refused", reason: "track-not-found" };
39
- if (!fits(tracks[index])) {
40
- return { kind: "refused", reason: "incompatible-track" };
41
- }
42
- if (!allowOccupied && !spansFit(tracks[index], spans)) {
43
- // A compatible lane that is already occupied gets a sibling directly
44
- // below it rather than silently pushing the drop elsewhere.
45
- return { kind: "newTrack", insertIndex: index + 1, trackKind: tracks[index].kind };
46
- }
47
- return asExisting(index);
48
- }
49
- case "firstAvailable": {
50
- const index = tracks.findIndex((t) => fits(t) && spansFit(t, spans));
51
- if (index >= 0)
52
- return asExisting(index);
53
- return { kind: "newTrack", insertIndex: tracks.length, trackKind: preferredKind };
54
- }
55
- case "preferIndex": {
56
- const hovered = tracks[strategy.trackIndex];
57
- if (hovered && fits(hovered) && spansFit(hovered, spans)) {
58
- return asExisting(strategy.trackIndex);
59
- }
60
- const insertIndex = strategy.hoverDirection === "above" ? strategy.trackIndex : strategy.trackIndex + 1;
61
- return {
62
- kind: "newTrack",
63
- insertIndex: Math.max(0, Math.min(tracks.length, insertIndex)),
64
- trackKind: hovered && fits(hovered) ? hovered.kind : preferredKind,
65
- };
66
- }
67
- case "alwaysNew":
68
- return {
69
- kind: "newTrack",
70
- insertIndex: strategy.position === "highest" ? 0 : tracks.length,
71
- trackKind: preferredKind,
72
- };
73
- }
74
- }