@cueframe/kernel 0.1.0 → 0.1.1

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 (355) hide show
  1. package/LICENSE +661 -0
  2. package/dist/_members/composition/ops/compositionOps.d.ts +1 -0
  3. package/dist/_members/composition/projection/behind-readiness.d.ts +127 -0
  4. package/dist/_members/composition/projection/index.d.ts +2 -0
  5. package/dist/_members/composition/projection/reframe-readiness.d.ts +156 -0
  6. package/dist/_members/composition/validators/composition.d.ts +42 -25
  7. package/dist/_members/composition/validators/render.d.ts +32 -0
  8. package/dist/_members/core/render/compositionRender.d.ts +17 -1
  9. package/dist/_members/core/render/types.d.ts +31 -0
  10. package/dist/authoring/build-tools.js +6 -6
  11. package/dist/authoring/context.js +4 -4
  12. package/dist/authoring/tools.js +5 -5
  13. package/dist/authoring.js +11 -9
  14. package/dist/{chunk-ZB3C3HM7.js → chunk-7FO3ZJ43.js} +3 -0
  15. package/dist/{chunk-ODL7GQJG.js → chunk-AP6ZIVAV.js} +2 -2
  16. package/dist/{chunk-IBYQG46O.js → chunk-AQBREB5O.js} +1 -1
  17. package/dist/{chunk-YIOY2XEO.js → chunk-DK2ODBNT.js} +15 -5
  18. package/dist/{chunk-JRQVPFLF.js → chunk-HY3RIEZW.js} +1 -1
  19. package/dist/{chunk-GEA7E2FL.js → chunk-JJ6XD7NG.js} +151 -1
  20. package/dist/{chunk-COYMZ76S.js → chunk-MBCXCJOE.js} +1 -1
  21. package/dist/{chunk-37NJ27UU.js → chunk-OCFDUCF4.js} +3 -0
  22. package/dist/{chunk-VOO5FQSS.js → chunk-PDYO3DOJ.js} +5 -5
  23. package/dist/{chunk-MXFAADCQ.js → chunk-PODIYN2K.js} +9 -2
  24. package/dist/{chunk-NFEGPWGS.js → chunk-TOJEXFXL.js} +1 -1
  25. package/dist/{chunk-LM4WDUQJ.js → chunk-UHGSZZDI.js} +1 -1
  26. package/dist/{chunk-XWKZB5U5.js → chunk-ZWMV6DD2.js} +24 -1
  27. package/dist/compose/renderer.js +3 -3
  28. package/dist/compose.js +6 -6
  29. package/dist/composition/graphics-plan.js +1 -1
  30. package/dist/composition/ops.js +3 -3
  31. package/dist/composition/primitive-catalog.js +1 -1
  32. package/dist/composition/projection.js +19 -3
  33. package/dist/composition/validators.js +6 -4
  34. package/dist/composition-ops.js +8 -6
  35. package/dist/composition.js +24 -6
  36. package/dist/{context-OKX3HHFS.js → context-YWUZDG5X.js} +4 -4
  37. package/dist/core/render.js +3 -3
  38. package/dist/core/select.js +2 -2
  39. package/dist/core.js +3 -3
  40. package/dist/errors.js +1 -1
  41. package/dist/mcp/adapter.js +1 -0
  42. package/dist/media-model/testing.js +1071 -718
  43. package/dist/nle-export/server.js +328 -130
  44. package/dist/nle-export.js +7 -6
  45. package/package.json +13 -14
  46. package/dist/_members/account-model/index.js +0 -4
  47. package/dist/_members/account-model/testing/conversationStoreContract.js +0 -168
  48. package/dist/_members/account-model/testing/index.js +0 -7
  49. package/dist/_members/account-model/testing/restorePointStoreContract.js +0 -69
  50. package/dist/_members/account-model/types/index.js +0 -1
  51. package/dist/_members/account-model/validators/contextFile.js +0 -18
  52. package/dist/_members/account-model/validators/conversation.js +0 -95
  53. package/dist/_members/account-model/validators/dashboardInsight.js +0 -16
  54. package/dist/_members/account-model/validators/index.js +0 -7
  55. package/dist/_members/account-model/validators/sessionToken.js +0 -49
  56. package/dist/_members/account-model/validators/uploadToken.js +0 -16
  57. package/dist/_members/account-model/validators/userSettings.js +0 -12
  58. package/dist/_members/account-model/validators/workingComposition.js +0 -20
  59. package/dist/_members/brand-derivation/constants.js +0 -20
  60. package/dist/_members/brand-derivation/contrastSafe.js +0 -114
  61. package/dist/_members/brand-derivation/index.js +0 -1
  62. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +0 -162
  63. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +0 -1
  64. package/dist/_members/cloud-import/index.js +0 -241
  65. package/dist/_members/cloud-import/index.js.map +0 -1
  66. package/dist/_members/cloud-import/multipartUpload.js +0 -7
  67. package/dist/_members/cloud-import/multipartUpload.js.map +0 -1
  68. package/dist/_members/composition/audio/audioMix.js +0 -61
  69. package/dist/_members/composition/audio/index.js +0 -5
  70. package/dist/_members/composition/audio/mixStaging.js +0 -195
  71. package/dist/_members/composition/audio/musicPack.generated.js +0 -136
  72. package/dist/_members/composition/audio/musicPack.js +0 -36
  73. package/dist/_members/composition/audio/pack.generated.js +0 -603
  74. package/dist/_members/composition/audio/pack.js +0 -48
  75. package/dist/_members/composition/audio/palette.js +0 -134
  76. package/dist/_members/composition/autozoom/index.js +0 -83
  77. package/dist/_members/composition/brand-kit.js +0 -45
  78. package/dist/_members/composition/brief/contract.js +0 -209
  79. package/dist/_members/composition/color-grade.js +0 -80
  80. package/dist/_members/composition/depth.js +0 -8
  81. package/dist/_members/composition/fixtures/index.js +0 -143
  82. package/dist/_members/composition/fixtures/vaayaErrored.d.ts +0 -25
  83. package/dist/_members/composition/fixtures/vaayaErrored.js +0 -203
  84. package/dist/_members/composition/fonts.js +0 -162
  85. package/dist/_members/composition/graphics-plan/compile.js +0 -221
  86. package/dist/_members/composition/graphics-plan/index.js +0 -10
  87. package/dist/_members/composition/graphics-plan/instantiateMotif.js +0 -44
  88. package/dist/_members/composition/graphics-plan/motion.js +0 -66
  89. package/dist/_members/composition/graphics-plan/schemas.js +0 -261
  90. package/dist/_members/composition/graphics-plan/solve.js +0 -145
  91. package/dist/_members/composition/index.js +0 -5
  92. package/dist/_members/composition/invariants/clipPlacement.js +0 -69
  93. package/dist/_members/composition/invariants/composition.js +0 -28
  94. package/dist/_members/composition/invariants/errors.js +0 -10
  95. package/dist/_members/composition/invariants/etag.js +0 -38
  96. package/dist/_members/composition/invariants/ids.js +0 -33
  97. package/dist/_members/composition/invariants/index.js +0 -9
  98. package/dist/_members/composition/invariants/keyframes.js +0 -45
  99. package/dist/_members/composition/invariants/markers.js +0 -29
  100. package/dist/_members/composition/invariants/time.js +0 -20
  101. package/dist/_members/composition/invariants/tracks.js +0 -304
  102. package/dist/_members/composition/ops/compositionOps.js +0 -1056
  103. package/dist/_members/composition/ops/headlessStore.js +0 -94
  104. package/dist/_members/composition/ops/index.js +0 -4
  105. package/dist/_members/composition/ops/selectors.js +0 -118
  106. package/dist/_members/composition/ops/timeline-word.js +0 -1
  107. package/dist/_members/composition/ops/transcript.js +0 -77
  108. package/dist/_members/composition/ops/types.js +0 -16
  109. package/dist/_members/composition/primitive-catalog/catalogQuery.js +0 -150
  110. package/dist/_members/composition/primitive-catalog/disabled.js +0 -32
  111. package/dist/_members/composition/primitive-catalog/generated/meta.js +0 -15161
  112. package/dist/_members/composition/primitive-catalog/index.js +0 -46
  113. package/dist/_members/composition/primitive-catalog/paramValidation.js +0 -231
  114. package/dist/_members/composition/primitive-catalog/projection.js +0 -164
  115. package/dist/_members/composition/primitive-catalog/types.js +0 -14
  116. package/dist/_members/composition/projection/behind-placement.js +0 -62
  117. package/dist/_members/composition/projection/brandKit.js +0 -482
  118. package/dist/_members/composition/projection/cardTokens.js +0 -209
  119. package/dist/_members/composition/projection/composition-floor.js +0 -582
  120. package/dist/_members/composition/projection/cropProjection.js +0 -257
  121. package/dist/_members/composition/projection/index.js +0 -7
  122. package/dist/_members/composition/projection/occlusion-budget.js +0 -104
  123. package/dist/_members/composition/projection/safe-zones.js +0 -99
  124. package/dist/_members/composition/reframe/aspectLoss.js +0 -115
  125. package/dist/_members/composition/reframe/coverage.js +0 -62
  126. package/dist/_members/composition/reframe/derive.js +0 -73
  127. package/dist/_members/composition/reframe/index.js +0 -109
  128. package/dist/_members/composition/reframe/kenBurns.js +0 -64
  129. package/dist/_members/composition/reframe/shotScale.js +0 -176
  130. package/dist/_members/composition/reframe/trajectory.js +0 -124
  131. package/dist/_members/composition/timeline/compound.js +0 -134
  132. package/dist/_members/composition/timeline/index.js +0 -9
  133. package/dist/_members/composition/timeline/intent.js +0 -228
  134. package/dist/_members/composition/timeline/keyframes.js +0 -121
  135. package/dist/_members/composition/timeline/link.js +0 -59
  136. package/dist/_members/composition/timeline/occupancy.js +0 -36
  137. package/dist/_members/composition/timeline/placement.js +0 -74
  138. package/dist/_members/composition/timeline/plan.js +0 -31
  139. package/dist/_members/composition/timeline/resolve.js +0 -170
  140. package/dist/_members/composition/timeline/trims.js +0 -278
  141. package/dist/_members/composition/types/index.js +0 -1
  142. package/dist/_members/composition/validators/brandKit.js +0 -295
  143. package/dist/_members/composition/validators/composePlan.js +0 -113
  144. package/dist/_members/composition/validators/composition.js +0 -703
  145. package/dist/_members/composition/validators/font.js +0 -34
  146. package/dist/_members/composition/validators/graphicKinds.js +0 -30
  147. package/dist/_members/composition/validators/index.js +0 -9
  148. package/dist/_members/composition/validators/project.js +0 -29
  149. package/dist/_members/composition/validators/registry.js +0 -41
  150. package/dist/_members/composition/validators/render.js +0 -139
  151. package/dist/_members/composition/validators/session.js +0 -37
  152. package/dist/_members/composition/validators/webhook.js +0 -72
  153. package/dist/_members/composition-ops/alphaLayers.js +0 -141
  154. package/dist/_members/composition-ops/index.js +0 -637
  155. package/dist/_members/composition-ops/materializeGrid.js +0 -99
  156. package/dist/_members/composition-ops/opRecorder.js +0 -196
  157. package/dist/_members/composition-ops/recordingStore.js +0 -14
  158. package/dist/_members/composition-ops/replaceRegion.js +0 -102
  159. package/dist/_members/composition-ops/testFixtures.js +0 -19
  160. package/dist/_members/core/index.js +0 -5
  161. package/dist/_members/core/render/bookends.js +0 -53
  162. package/dist/_members/core/render/captions.js +0 -127
  163. package/dist/_members/core/render/compositionRender.js +0 -1249
  164. package/dist/_members/core/render/deriveTrajectory.js +0 -889
  165. package/dist/_members/core/render/emphasis.js +0 -16
  166. package/dist/_members/core/render/eval/cropBox.js +0 -139
  167. package/dist/_members/core/render/eval/inclusion.js +0 -96
  168. package/dist/_members/core/render/eval/index.js +0 -146
  169. package/dist/_members/core/render/eval/metrics.js +0 -94
  170. package/dist/_members/core/render/exportSettings.js +0 -65
  171. package/dist/_members/core/render/index.js +0 -20
  172. package/dist/_members/core/render/mapFaceToPerson.js +0 -73
  173. package/dist/_members/core/render/types.js +0 -8
  174. package/dist/_members/core/render/vcam/cameraPath.js +0 -248
  175. package/dist/_members/core/render/vcam/constants.js +0 -115
  176. package/dist/_members/core/render/vcam/errorCodes.js +0 -39
  177. package/dist/_members/core/render/vcam/framing.js +0 -136
  178. package/dist/_members/core/render/vcam/requiredRegion.js +0 -137
  179. package/dist/_members/core/render/vcam/shots.js +0 -53
  180. package/dist/_members/core/render/vcam/subjectSet.js +0 -388
  181. package/dist/_members/core/select/errorCodes.js +0 -38
  182. package/dist/_members/core/select/index.js +0 -26
  183. package/dist/_members/core/select/model.js +0 -18
  184. package/dist/_members/core/select/select.js +0 -244
  185. package/dist/_members/core/select/stabilize.js +0 -242
  186. package/dist/_members/core/types.js +0 -7
  187. package/dist/_members/errors/index.js +0 -1
  188. package/dist/_members/errors/registry.js +0 -560
  189. package/dist/_members/foundation/codes/index.js +0 -31
  190. package/dist/_members/foundation/index.js +0 -2
  191. package/dist/_members/foundation/primitives/index.js +0 -5
  192. package/dist/_members/mcp/adapter.js +0 -771
  193. package/dist/_members/mcp/burnedNames.js +0 -73
  194. package/dist/_members/mcp/core.js +0 -390
  195. package/dist/_members/mcp/curation.js +0 -792
  196. package/dist/_members/mcp/executor.js +0 -142
  197. package/dist/_members/mcp/format.js +0 -9
  198. package/dist/_members/mcp/generated/catalogPreviews.js +0 -95
  199. package/dist/_members/mcp/generated/harness.js +0 -81
  200. package/dist/_members/mcp/generated/operations.js +0 -131
  201. package/dist/_members/mcp/index.js +0 -50
  202. package/dist/_members/mcp/internalLoopTools.js +0 -109
  203. package/dist/_members/mcp/prompts.js +0 -45
  204. package/dist/_members/mcp/resources.js +0 -166
  205. package/dist/_members/mcp/server.js +0 -340
  206. package/dist/_members/mcp/wait.js +0 -378
  207. package/dist/_members/mcp/x402Meta.js +0 -66
  208. package/dist/_members/media-model/api.js +0 -175
  209. package/dist/_members/media-model/index.js +0 -1
  210. package/dist/_members/media-model/media-kind.js +0 -116
  211. package/dist/_members/media-model/testing/index.js +0 -1
  212. package/dist/_members/media-model/testing/mediaStoreContract.js +0 -82
  213. package/dist/_members/media-model/transcriptSearch.js +0 -70
  214. package/dist/_members/media-model/transcriptSearchCases.json +0 -79
  215. package/dist/_members/nle-export/compact-timeline.js +0 -73
  216. package/dist/_members/nle-export/compact-timeline.js.map +0 -1
  217. package/dist/_members/nle-export/composition-to-input.js +0 -147
  218. package/dist/_members/nle-export/composition-to-input.js.map +0 -1
  219. package/dist/_members/nle-export/fcpxml.js +0 -159
  220. package/dist/_members/nle-export/fcpxml.js.map +0 -1
  221. package/dist/_members/nle-export/index.js +0 -12
  222. package/dist/_members/nle-export/index.js.map +0 -1
  223. package/dist/_members/nle-export/premiere.js +0 -161
  224. package/dist/_members/nle-export/premiere.js.map +0 -1
  225. package/dist/_members/nle-export/server/index.js +0 -2
  226. package/dist/_members/nle-export/server/index.js.map +0 -1
  227. package/dist/_members/nle-export/server/pack-zip.js +0 -38
  228. package/dist/_members/nle-export/server/pack-zip.js.map +0 -1
  229. package/dist/_members/nle-export/srt.js +0 -50
  230. package/dist/_members/nle-export/srt.js.map +0 -1
  231. package/dist/_members/nle-export/types.js +0 -9
  232. package/dist/_members/nle-export/types.js.map +0 -1
  233. package/dist/_members/nle-export/xml/index.js +0 -11
  234. package/dist/_members/nle-export/xml/index.js.map +0 -1
  235. package/dist/_members/nle-export/xml-utils.js +0 -48
  236. package/dist/_members/nle-export/xml-utils.js.map +0 -1
  237. package/dist/_members/perception/activeSpeaker.js +0 -103
  238. package/dist/_members/perception/audioQuality.js +0 -76
  239. package/dist/_members/perception/energyBeat.js +0 -99
  240. package/dist/_members/perception/identityMatch.js +0 -91
  241. package/dist/_members/perception/index.js +0 -48
  242. package/dist/_members/perception/visualQuality.js +0 -95
  243. package/dist/_members/plane/conformance.js +0 -90
  244. package/dist/_members/plane/contract.js +0 -49
  245. package/dist/_members/plane/index.js +0 -16
  246. package/dist/_members/primitives/backgrounds/index.js +0 -32
  247. package/dist/_members/primitives/backgrounds/index.js.map +0 -1
  248. package/dist/_members/primitives/captions/index.js +0 -398
  249. package/dist/_members/primitives/captions/index.js.map +0 -1
  250. package/dist/_members/primitives/chunk-2LVE4UIT.js +0 -139
  251. package/dist/_members/primitives/chunk-2LVE4UIT.js.map +0 -1
  252. package/dist/_members/primitives/chunk-3IQUH6KK.js +0 -20
  253. package/dist/_members/primitives/chunk-3IQUH6KK.js.map +0 -1
  254. package/dist/_members/primitives/chunk-3OMURV6Q.js +0 -112
  255. package/dist/_members/primitives/chunk-3OMURV6Q.js.map +0 -1
  256. package/dist/_members/primitives/chunk-4IS6TMEG.js +0 -21
  257. package/dist/_members/primitives/chunk-4IS6TMEG.js.map +0 -1
  258. package/dist/_members/primitives/chunk-5MWGAEGQ.js +0 -1644
  259. package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +0 -1
  260. package/dist/_members/primitives/chunk-7RRPFPQK.js +0 -15
  261. package/dist/_members/primitives/chunk-7RRPFPQK.js.map +0 -1
  262. package/dist/_members/primitives/chunk-DH5TRZK2.js +0 -125
  263. package/dist/_members/primitives/chunk-DH5TRZK2.js.map +0 -1
  264. package/dist/_members/primitives/chunk-E3KNUSFG.js +0 -2337
  265. package/dist/_members/primitives/chunk-E3KNUSFG.js.map +0 -1
  266. package/dist/_members/primitives/chunk-G2B3G4HK.js +0 -47
  267. package/dist/_members/primitives/chunk-G2B3G4HK.js.map +0 -1
  268. package/dist/_members/primitives/chunk-HFPFGZXT.js +0 -1494
  269. package/dist/_members/primitives/chunk-HFPFGZXT.js.map +0 -1
  270. package/dist/_members/primitives/chunk-HIWVFZVH.js +0 -19
  271. package/dist/_members/primitives/chunk-HIWVFZVH.js.map +0 -1
  272. package/dist/_members/primitives/chunk-IDAL6G3Y.js +0 -134
  273. package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +0 -1
  274. package/dist/_members/primitives/chunk-KNC6JP5F.js +0 -34
  275. package/dist/_members/primitives/chunk-KNC6JP5F.js.map +0 -1
  276. package/dist/_members/primitives/chunk-KYRDVZST.js +0 -459
  277. package/dist/_members/primitives/chunk-KYRDVZST.js.map +0 -1
  278. package/dist/_members/primitives/chunk-LWLHS2NS.js +0 -3410
  279. package/dist/_members/primitives/chunk-LWLHS2NS.js.map +0 -1
  280. package/dist/_members/primitives/chunk-QAQ3P7DR.js +0 -8855
  281. package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +0 -1
  282. package/dist/_members/primitives/chunk-ROV2ODWC.js +0 -81
  283. package/dist/_members/primitives/chunk-ROV2ODWC.js.map +0 -1
  284. package/dist/_members/primitives/chunk-TCRC2FH3.js +0 -183
  285. package/dist/_members/primitives/chunk-TCRC2FH3.js.map +0 -1
  286. package/dist/_members/primitives/chunk-US4YEDAA.js +0 -96
  287. package/dist/_members/primitives/chunk-US4YEDAA.js.map +0 -1
  288. package/dist/_members/primitives/chunk-UVKRO5ER.js +0 -13
  289. package/dist/_members/primitives/chunk-UVKRO5ER.js.map +0 -1
  290. package/dist/_members/primitives/chunk-W4EIIF2I.js +0 -10
  291. package/dist/_members/primitives/chunk-W4EIIF2I.js.map +0 -1
  292. package/dist/_members/primitives/chunk-WPGKIPCO.js +0 -3563
  293. package/dist/_members/primitives/chunk-WPGKIPCO.js.map +0 -1
  294. package/dist/_members/primitives/chunk-WZFLEGMD.js +0 -1435
  295. package/dist/_members/primitives/chunk-WZFLEGMD.js.map +0 -1
  296. package/dist/_members/primitives/chunk-XHU3WBEI.js +0 -33
  297. package/dist/_members/primitives/chunk-XHU3WBEI.js.map +0 -1
  298. package/dist/_members/primitives/chunk-YN7WTZZ7.js +0 -46
  299. package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +0 -1
  300. package/dist/_members/primitives/effects/index.js +0 -30
  301. package/dist/_members/primitives/effects/index.js.map +0 -1
  302. package/dist/_members/primitives/hero-text/index.js +0 -14
  303. package/dist/_members/primitives/hero-text/index.js.map +0 -1
  304. package/dist/_members/primitives/index.js +0 -64
  305. package/dist/_members/primitives/index.js.map +0 -1
  306. package/dist/_members/primitives/layouts/index.js +0 -24
  307. package/dist/_members/primitives/layouts/index.js.map +0 -1
  308. package/dist/_members/primitives/lib/easings.js +0 -26
  309. package/dist/_members/primitives/lib/easings.js.map +0 -1
  310. package/dist/_members/primitives/lib/index.js +0 -74
  311. package/dist/_members/primitives/lib/index.js.map +0 -1
  312. package/dist/_members/primitives/lib/palette.js +0 -72
  313. package/dist/_members/primitives/lib/palette.js.map +0 -1
  314. package/dist/_members/primitives/lib/preview.js +0 -8
  315. package/dist/_members/primitives/lib/preview.js.map +0 -1
  316. package/dist/_members/primitives/lib/schema.js +0 -12
  317. package/dist/_members/primitives/lib/schema.js.map +0 -1
  318. package/dist/_members/primitives/lib/seeded-random.js +0 -14
  319. package/dist/_members/primitives/lib/seeded-random.js.map +0 -1
  320. package/dist/_members/primitives/lib/text/contrast.js +0 -12
  321. package/dist/_members/primitives/lib/text/contrast.js.map +0 -1
  322. package/dist/_members/primitives/lib/text/fill.js +0 -8
  323. package/dist/_members/primitives/lib/text/fill.js.map +0 -1
  324. package/dist/_members/primitives/lib/text/fitText.js +0 -10
  325. package/dist/_members/primitives/lib/text/fitText.js.map +0 -1
  326. package/dist/_members/primitives/lib/text/marker.js +0 -8
  327. package/dist/_members/primitives/lib/text/marker.js.map +0 -1
  328. package/dist/_members/primitives/lib/text/motion.js +0 -16
  329. package/dist/_members/primitives/lib/text/motion.js.map +0 -1
  330. package/dist/_members/primitives/lib/text/recolor.js +0 -8
  331. package/dist/_members/primitives/lib/text/recolor.js.map +0 -1
  332. package/dist/_members/primitives/lib/text/spec.js +0 -1
  333. package/dist/_members/primitives/lib/text/spec.js.map +0 -1
  334. package/dist/_members/primitives/lib/text/stage.js +0 -8
  335. package/dist/_members/primitives/lib/text/stage.js.map +0 -1
  336. package/dist/_members/primitives/lib/text/typeface.js +0 -8
  337. package/dist/_members/primitives/lib/text/typeface.js.map +0 -1
  338. package/dist/_members/primitives/lib/tokens.js +0 -24
  339. package/dist/_members/primitives/lib/tokens.js.map +0 -1
  340. package/dist/_members/primitives/lib/types.js +0 -1
  341. package/dist/_members/primitives/lib/types.js.map +0 -1
  342. package/dist/_members/primitives/params-required.json +0 -153
  343. package/dist/_members/primitives/scenes/index.js +0 -25
  344. package/dist/_members/primitives/scenes/index.js.map +0 -1
  345. package/dist/_members/primitives/subject-foreground/index.js +0 -30
  346. package/dist/_members/primitives/subject-foreground/index.js.map +0 -1
  347. package/dist/_members/primitives/text/index.js +0 -57
  348. package/dist/_members/primitives/text/index.js.map +0 -1
  349. package/dist/_members/primitives/transitions/index.js +0 -67
  350. package/dist/_members/primitives/transitions/index.js.map +0 -1
  351. package/dist/_members/primitives/ui-blocks/index.js +0 -76
  352. package/dist/_members/primitives/ui-blocks/index.js.map +0 -1
  353. package/dist/_members/primitives/version-map.json +0 -105
  354. package/dist/_members/primitives/workspace.js +0 -60
  355. package/dist/_members/primitives/workspace.js.map +0 -1
@@ -1,295 +0,0 @@
1
- import { z } from "zod";
2
- import { zid } from "convex-helpers/server/zod3";
3
- import { GraphicRole } from "../graphics-plan/schemas.js";
4
- export const EasingValue = z.union([
5
- z.enum(["linear", "ease", "ease-in", "ease-out", "ease-in-out"]),
6
- z.object({
7
- kind: z.literal("cubic-bezier"),
8
- x1: z.number().min(0).max(1),
9
- y1: z.number(),
10
- x2: z.number().min(0).max(1),
11
- y2: z.number(),
12
- }),
13
- ]);
14
- /** A palette reference (audio-substrate P2 AudioPaletteEntry.ref): a pack
15
- * soundId | music-pack bedId | org mediaId — an opaque string placement handle.
16
- * The brand SOUND kit fields (audio.sonicLogo / uiSoundSet / bedStyle /
17
- * ambiencePreference) reference sounds by this same handle. */
18
- export const AudioPaletteRef = z.string().min(1);
19
- export const FontRef = z.union([
20
- z.object({
21
- kind: z.literal("system"),
22
- family: z.string().min(1),
23
- }),
24
- z.object({
25
- kind: z.literal("web"),
26
- family: z.string().min(1),
27
- url: z.string().url().optional(),
28
- }),
29
- z.object({
30
- kind: z.literal("uploaded"),
31
- fontId: zid("fonts"),
32
- family: z.string().optional(),
33
- }),
34
- ]);
35
- const Colors = z.object({
36
- primary: z.string().min(1),
37
- secondary: z.string().optional(),
38
- accent: z.string().min(1),
39
- background: z.string().min(1),
40
- text: z.string().min(1),
41
- textMuted: z.string().optional(),
42
- border: z.string().optional(),
43
- // Tier-2 core — author overrides for the derived fills + paired foregrounds.
44
- surface: z.string().optional(),
45
- card: z.string().optional(),
46
- gridLine: z.string().optional(),
47
- accentMuted: z.string().optional(),
48
- textOnAccent: z.string().optional(),
49
- textOnSurface: z.string().optional(),
50
- });
51
- const Fonts = z.object({
52
- heading: FontRef,
53
- body: FontRef.optional(),
54
- caption: FontRef.optional(),
55
- });
56
- const Spacing = z.object({
57
- base: z.number().positive().optional(),
58
- lg: z.number().positive().optional(),
59
- sm: z.number().positive().optional(),
60
- });
61
- const Sizing = z.object({
62
- fontSizeHeading: z.number().positive().optional(),
63
- fontSizeBody: z.number().positive().optional(),
64
- fontSizeLabel: z.number().positive().optional(),
65
- borderRadius: z.number().nonnegative().optional(),
66
- });
67
- const Motion = z.object({
68
- duration: z.number().positive().optional(),
69
- easing: EasingValue.optional(),
70
- // Editorial motion identity — surfaces read these via `$brand:motion.*`
71
- // (resolved at projection time). Mirrors the primitive `TextMotion` vocabulary.
72
- entrance: z.enum(["none", "fade", "word-pop", "stagger-up"]).optional(),
73
- staggerMs: z.number().nonnegative().optional(),
74
- exitMs: z.number().nonnegative().optional(),
75
- });
76
- // Corner anchor shared by logo + watermark overlays.
77
- const Placement = z.enum(["tl", "tr", "bl", "br"]);
78
- const Logo = z.object({
79
- src: z.string().min(1),
80
- alt: z.string().optional(),
81
- placement: Placement.optional(),
82
- // Percentage of the composition width. Must be positive — a non-positive
83
- // logo is a footgun, not an intent, so reject at the boundary.
84
- sizePct: z.number().positive().optional(),
85
- });
86
- // Intro/outro bumper: either an authored card (title/subtitle on brand) or a
87
- // pre-rendered video clip. `src` is optional on disk — a card needs none, and
88
- // a video kit may carry the asset reference separately — so the wire shape
89
- // stays sparse and the resolver fails loud later if a video lacks its source.
90
- const IntroOutro = z.object({
91
- kind: z.enum(["card", "video"]),
92
- src: z.string().min(1).optional(),
93
- title: z.string().optional(),
94
- subtitle: z.string().optional(),
95
- durationMs: z.number().positive().optional(),
96
- });
97
- const Watermark = z.object({
98
- src: z.string().min(1),
99
- // Alpha in [0,1]; anything outside is a malformed kit, not a clamp target.
100
- opacity: z.number().min(0).max(1).optional(),
101
- placement: Placement.optional(),
102
- });
103
- // ── Brand-kit language payload (built FROM INSPIRATION — spec 2026-07-14) ────
104
- // A motif is an observed on-screen graphic reproduced as an ordinary authored
105
- // skin (card html / overlay primitive / installed component). These mirror the
106
- // storage validators (composition.ts) and the HTTP schemas (schemas.ts Step 1.5)
107
- // verbatim — the wire validator has no `.openapi()` calls, so the shapes here
108
- // are the plain-zod twins carried onto the wire BrandKit for the projection.
109
- const MotifBody = z.discriminatedUnion("kind", [
110
- z.object({
111
- kind: z.literal("card"),
112
- html: z.string().min(1),
113
- tokens: z.record(z.string(), z.string()).optional(),
114
- }),
115
- z.object({
116
- kind: z.literal("overlay"),
117
- primitiveId: z.string().min(1),
118
- params: z.record(z.string(), z.unknown()).optional(),
119
- }),
120
- z.object({
121
- kind: z.literal("component"),
122
- componentId: z.string().min(1),
123
- props: z.record(z.string(), z.unknown()).optional(),
124
- }),
125
- ]);
126
- // Closed vocabulary — SSOT is MOTION_PRESETS (packages/authoring/src/motion/shell.ts).
127
- const MotifMotionPreset = z.enum([
128
- "fade-up",
129
- "slide-in-left",
130
- "slide-in-right",
131
- "scale-pop",
132
- "stagger-reveal",
133
- ]);
134
- export const Motif = z.object({
135
- id: z.string().min(1).max(40),
136
- observed: z.string().min(1).max(500),
137
- body: MotifBody,
138
- motion: z.object({
139
- preset: MotifMotionPreset,
140
- enterMs: z.number().int().min(0).max(5000).optional(),
141
- exitMs: z.number().int().min(0).max(5000).optional(),
142
- staggerMs: z.number().int().min(0).max(2000).optional(),
143
- confidence: z.enum(["high", "low"]).optional(),
144
- }).optional(),
145
- // Pinned to the closed graphics-plan GraphicRole vocabulary — the steering
146
- // matcher (designBrief.ts) is exact-equality against a plan role, so an
147
- // off-vocabulary role would synthesize a judge and then silently never steer
148
- // (the half-applied-conditioning failure D1-R exists to kill). Storage stays
149
- // an open string (matches the motion.preset pattern).
150
- role: GraphicRole,
151
- zone: z.object({ x: z.number(), y: z.number(), w: z.number(), h: z.number() }).optional(),
152
- evidence: z.array(z.number().int().min(0)).max(24).optional(),
153
- diffScore: z.number().min(0).max(1).optional(),
154
- coverage: z.enum(["reproduced", "approximated", "skipped"]),
155
- skipReason: z.string().max(300).optional(),
156
- });
157
- const AccessControl = z.object({
158
- public: z.boolean().optional(),
159
- readerOrgIds: z.array(z.string()).optional(),
160
- writerOrgIds: z.array(z.string()).optional(),
161
- });
162
- const LicenseDeclaration = z.object({
163
- type: z.string().min(1),
164
- source: z.string().optional(),
165
- notes: z.string().optional(),
166
- });
167
- export const BrandKit = z.object({
168
- id: z.string().min(1),
169
- name: z.string().min(1),
170
- colors: Colors,
171
- fonts: Fonts,
172
- spacing: Spacing.optional(),
173
- sizing: Sizing.optional(),
174
- motion: Motion.optional(),
175
- // Per-creator caption IDENTITY collected by the dashboard / derived from a
176
- // creator's references. Consumed by resolveBrandKit's caption derivation:
177
- // emphasisColor → caption.fg, base/highlight color (clamped to the APCA body
178
- // floor over the scrim), the backdrop `plate` treatment, per-word `entrance`
179
- // motion + timing, and the emphasis treatment (base face + serif/scale/weight/
180
- // italic/transform/letter-spacing + emphasis-run plate) → caption identity
181
- // that the render binding applies onto the Captions primitive. The kit now
182
- // owns the caption LOOK (including plate + entrance). Base GEOMETRY (caption
183
- // size, screen position, safe-area, maxWidth) is NOT here — that is calibrated
184
- // craft owned by the primitive's default. The kit selects the LOOK; the
185
- // primitive owns the legible realization.
186
- captionProfile: z
187
- .object({
188
- // Base caption text color + spoken-word highlight — clamped to the APCA
189
- // body floor over the scrim at projection (same guard as emphasisColor→fg).
190
- color: z.string().optional(),
191
- highlightColor: z.string().optional(),
192
- emphasisColor: z.string().optional(),
193
- // Caption backdrop plate — the whole-block legibility treatment.
194
- plate: z.enum(["glass", "solid", "none"]).optional(),
195
- // Per-word entrance motion + timing (the shared TextMotion vocabulary).
196
- entrance: z.enum(["none", "fade", "word-pop", "stagger-up"]).optional(),
197
- entranceMs: z.number().optional(),
198
- entranceStaggerMs: z.number().optional(),
199
- exitMs: z.number().optional(),
200
- // Base caption face (the carrier-word font). Defaults to fonts.caption.
201
- fontFamily: z.string().optional(),
202
- // Emphasis-word treatment — the qualitative identity signal.
203
- emphasisFontFamily: z.string().optional(),
204
- emphasisScale: z.number().positive().optional(),
205
- emphasisFontWeight: z.number().optional(),
206
- emphasisFontStyle: z.enum(["normal", "italic"]).optional(),
207
- emphasisTextTransform: z.enum(["none", "uppercase"]).optional(),
208
- emphasisLetterSpacing: z.number().optional(),
209
- // Emphasis-run highlighter plate (editorial caption look).
210
- emphasisPlate: z.boolean().optional(),
211
- emphasisPlateColor: z.string().optional(),
212
- emphasisPlateTextColor: z.string().optional(),
213
- })
214
- .optional(),
215
- // ── Language payload (built FROM INSPIRATION) ─────────────────────────────
216
- // Carried untransformed onto the wire kit so the projection (resolveBrandKit)
217
- // can surface it as `ResolvedBrandKit.language`. Not a `$brand:` token root —
218
- // these are exemplar/motif references the maker + judge condition on, not
219
- // bindable design tokens.
220
- exemplarKeys: z.array(z.string().min(1)).max(24).optional(),
221
- contactSheetKey: z.string().min(1).optional(),
222
- motifs: z.array(Motif).max(24).optional(),
223
- styleRubric: z.string().max(4000).optional(),
224
- density: z.object({
225
- graphicsPerMin: z.number().min(0).max(60),
226
- maxSimultaneous: z.number().int().min(1).max(6),
227
- }).optional(),
228
- inspiration: z.object({
229
- sources: z.array(z.string()).min(1).max(24),
230
- extractedAt: z.number(),
231
- extractionVersion: z.string().min(1).max(60),
232
- }).optional(),
233
- logo: Logo.optional(),
234
- intro: IntroOutro.optional(),
235
- outro: IntroOutro.optional(),
236
- watermark: Watermark.optional(),
237
- /** Brand audio identity (audio design spec 2026-07-20): default SFX intensity
238
- * + music-bed defaults. Brief `audio` wins when present (caption-identity
239
- * precedence: brand default beats brief absence; brief beats brand).
240
- *
241
- * Brand SOUND kit (audio-substrate Phase 5) — identity over TIME. All four
242
- * fields are OPTIONAL; a kit that sets none behaves byte-identically to a kit
243
- * with no audio block. Refs are palette references (P2 AudioPaletteEntry.ref:
244
- * a pack soundId | music-pack bedId | org mediaId — an opaque string handle). */
245
- audio: z.object({
246
- sfxIntensity: z.enum(["off", "light", "standard", "dense"]).optional(),
247
- musicEnabled: z.boolean().optional(),
248
- musicMood: z.string().max(300).optional(),
249
- /** SONIC LOGO — a brand audio signature bound to the intro/outro bookend at
250
- * compose time (an sfx-role clip at the body edge adjacent to the render
251
- * bookend). `ref` = a palette reference; `placement` = which bookend(s);
252
- * `offsetMs` shifts within. Bound only when the corresponding bumper
253
- * (kit.intro / kit.outro) exists — else a non-blocking advisory. */
254
- sonicLogo: z.object({
255
- ref: AudioPaletteRef,
256
- placement: z.enum(["intro", "outro", "both"]),
257
- offsetMs: z.number().int().min(0).max(10000).optional(),
258
- }).optional(),
259
- /** UI SOUND SET — per-family palette overrides consumed by the sfxCompile
260
- * org-first draw as the HIGHEST-priority tier (brand > org palette > pack
261
- * default), mirroring how a brand FONT sits above org defaults. Keys are the
262
- * closed SfxFamily vocabulary; values are palette refs. */
263
- uiSoundSet: z.object({
264
- tick: AudioPaletteRef.optional(),
265
- pop: AudioPaletteRef.optional(),
266
- impact: AudioPaletteRef.optional(),
267
- confirm: AudioPaletteRef.optional(),
268
- error: AudioPaletteRef.optional(),
269
- whoosh: AudioPaletteRef.optional(),
270
- riser: AudioPaletteRef.optional(),
271
- }).optional(),
272
- /** BED STYLE — a preferred pack bed (`bedId`) or a style hint (`genre` /
273
- * `bpmRange`). SURFACED-ONLY today (compose does not auto-select a pack bed
274
- * — it uses a client-pinned bed or generates from mood); the field resolves
275
- * through the kit + surfaces via get_profile / brand-kit reads so driving
276
- * agents honor it when pinning / generating a bed. */
277
- bedStyle: z.object({
278
- bedId: AudioPaletteRef.optional(),
279
- genre: z.string().max(120).optional(),
280
- bpmRange: z.object({ min: z.number(), max: z.number() }).optional(),
281
- }).optional(),
282
- /** AMBIENCE PREFERENCE — a preferred ambience bed (`{ref}`) or explicit
283
- * `null` (opt-out). SURFACED-ONLY (compose has no ambience auto-placement);
284
- * resolves + surfaces for driving agents. */
285
- ambiencePreference: z.object({ ref: AudioPaletteRef }).nullable().optional(),
286
- }).optional(),
287
- license: LicenseDeclaration.optional(),
288
- licenseVerification: z.enum([
289
- "attested",
290
- "cueframe-verified",
291
- "third-party-verified",
292
- ]).optional(),
293
- ownerOrgId: z.string().optional(),
294
- acl: AccessControl.optional(),
295
- });
@@ -1,113 +0,0 @@
1
- /**
2
- * ComposePlan — the locked contract between the compose PLANNER and the
3
- * ASSEMBLER (multi-agent director spec 2026-06-11). The plan mirrors the
4
- * composition model: framing → cropIntents, cuts → delete_ranges/excludedRanges,
5
- * captions → CompositionCaptions.style intent, assets → mediaId refs,
6
- * graphics → overlay/component refs. Specialists fulfill assets/graphics
7
- * requests; the assembler integrates and never re-plans.
8
- */
9
- import { z } from "zod";
10
- // The graphics-domain SSOT: role vocabulary + structured copy. The plan
11
- // references the SAME types the compiler consumes (no separate contract to drift).
12
- import { GraphicRole, Copy } from "../graphics-plan/schemas.js";
13
- /** The planner's subject pick — WHO/WHAT the camera tracks on a `frame` beat.
14
- * This is the PLANNER↔assembler contract shape (kept subject-centric so the
15
- * Langfuse-managed planner prompt is unchanged); the assembler (compile.ts)
16
- * maps it onto the canonical `Focus` of a `ReframeSegment`. Same variants as
17
- * `Focus`: face / all-faces / frame-center / active-speaker / point. */
18
- export const PlanSubject = z.discriminatedUnion("kind", [
19
- z.object({ kind: z.literal("face"), faceId: z.string().min(1) }),
20
- z.object({ kind: z.literal("all-faces") }),
21
- z.object({ kind: z.literal("frame-center") }),
22
- z.object({ kind: z.literal("active-speaker") }),
23
- z.object({
24
- kind: z.literal("point"),
25
- x: z.number().min(0).max(1),
26
- y: z.number().min(0).max(1),
27
- }),
28
- ]);
29
- /** One framing decision — three first-class intents so none is expressible
30
- * only by misusing another (the 2026-07-12 verify-rerun planner read 'trim'
31
- * as "keep un-cropped" and trimmed the whole clip; the vocabulary had no
32
- * legal move for subject-less footage):
33
- * - 'frame' — SHOW this span, cropped/tracked per `subject` (required).
34
- * - 'keep' — SHOW this span AS-IS, no reframe (b-roll, landscapes, any
35
- * footage with nothing to track). No subject.
36
- * - 'trim' — DELETE this span from the output entirely.
37
- * Downstream: 'frame' compiles to a crop intent; 'keep' compiles to nothing
38
- * (shown uncropped); 'trim' compiles to an excluded range. */
39
- export const PlanFramingSegment = z
40
- .object({
41
- startSec: z.number().nonnegative(),
42
- endSec: z.number().positive(),
43
- action: z
44
- .enum(["frame", "keep", "trim"])
45
- .describe("'frame' = SHOW this span cropped/tracked per `subject`. 'keep' = SHOW this span as-is, no reframe (footage with nothing to track). 'trim' = DELETE this span from the output entirely — trimmed footage never appears."),
46
- subject: PlanSubject.optional(),
47
- shotScale: z.enum(["close", "standard", "wide"]).optional(),
48
- zoomScale: z.number().min(0.4).max(1.0).optional(),
49
- verticalBias: z.number().min(-0.3).max(0.3).optional(),
50
- /** Optional in the plan; the assembler defaults it to 0 on set_crop_intents. */
51
- lateralBias: z.number().min(-0.3).max(0.3).optional(),
52
- intent: z.string().optional(),
53
- })
54
- .refine((s) => s.action !== "frame" || s.subject !== undefined, {
55
- message: "frame segment requires a subject — for footage with no trackable subject use action:'keep' (shown as-is); do NOT trim spans you want shown",
56
- })
57
- .refine((s) => s.action !== "keep" || s.subject === undefined, {
58
- message: "keep segment shows footage as-is — it takes no subject (use action:'frame' to track one)",
59
- })
60
- // ONE knob sizes the crop. `shotScale` (editorial, calibrated to the detected
61
- // face at bake time) and `zoomScale` (explicit fraction of the frame) both do,
62
- // and shotScale WINS — so a segment carrying both silently discards the zoom.
63
- .refine((s) => s.shotScale === undefined || s.zoomScale === undefined, {
64
- message: "framing segment takes EITHER shotScale (editorial scale — the bake calibrates the zoom to the detected face) OR zoomScale (an explicit fraction of the frame), never both: shotScale wins and the zoomScale would be silently discarded",
65
- path: ["zoomScale"],
66
- });
67
- export const PlanCut = z.object({
68
- startSec: z.number().nonnegative(),
69
- endSec: z.number().positive(),
70
- reason: z.string().min(1),
71
- });
72
- export const PlanAssetRequest = z.object({
73
- id: z.string().min(1),
74
- atSec: z.number().nonnegative(),
75
- durSec: z.number().positive(),
76
- kind: z.enum(["broll", "audio", "sfx", "music", "ambience", "gif", "image"]),
77
- source: z.enum(["find", "generate"]),
78
- intent: z.string().min(1),
79
- /** Phase 1: the planner resolves `find` requests against the pool at plan
80
- * time (it has search_library) and records the pick here. Unresolved find
81
- * requests are stripped by the validator (degrade, not error). */
82
- resolvedMediaId: z.string().optional(),
83
- });
84
- /**
85
- * A first-class typed graphic the planner requests: a `role` (the editorial
86
- * graphic type) + structured `copy` — NOT a coarse kind + freeform text. The
87
- * designer phase reads these straight into a graphics-plan ContentBeat and
88
- * compiles deterministically (no inference, no bespoke-JSX escape hatch).
89
- * `role`/`copy` are the graphics-domain SSOT (graphics-plan/schemas); zPlane is
90
- * implied by the role (`hero` → behind-subject) so it is not re-declared here.
91
- */
92
- export const PlanGraphicRequest = z.object({
93
- id: z.string().min(1),
94
- atSec: z.number().nonnegative(),
95
- durSec: z.number().positive(),
96
- role: GraphicRole,
97
- copy: Copy,
98
- intent: z.string().min(1),
99
- });
100
- export const PlanMarker = z.object({
101
- startSec: z.number().nonnegative(),
102
- endSec: z.number().nonnegative().optional(),
103
- kind: z.string().min(1),
104
- name: z.string().optional(),
105
- });
106
- export const ComposePlan = z.object({
107
- framing: z.array(PlanFramingSegment).min(1),
108
- cuts: z.array(PlanCut).optional(),
109
- captions: z.object({ styleIntent: z.string().optional() }).optional(),
110
- assets: z.array(PlanAssetRequest).optional(),
111
- graphics: z.array(PlanGraphicRequest).optional(),
112
- markers: z.array(PlanMarker).optional(),
113
- });