@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,143 +0,0 @@
1
- export const minimalComposition = {
2
- v: 1,
3
- format: { aspectRatio: "9:16", fps: 30, resolution: "fhd" },
4
- tracks: [
5
- {
6
- id: "V1",
7
- kind: "video",
8
- contents: [
9
- {
10
- id: "clip-1",
11
- startTime: 0,
12
- duration: 10,
13
- source: {
14
- kind: "media",
15
- mediaId: "kx0000000000000000000000",
16
- },
17
- },
18
- ],
19
- },
20
- ],
21
- };
22
- export const overlappingClips = {
23
- v: 1,
24
- format: { aspectRatio: "16:9", fps: 30 },
25
- tracks: [
26
- {
27
- id: "V1",
28
- kind: "video",
29
- contents: [
30
- {
31
- id: "clip-1",
32
- startTime: 0,
33
- duration: 10,
34
- source: {
35
- kind: "media",
36
- mediaId: "kx0000000000000000000000",
37
- },
38
- },
39
- {
40
- id: "clip-2",
41
- startTime: 5,
42
- duration: 10,
43
- source: {
44
- kind: "media",
45
- mediaId: "kx1111111111111111111111",
46
- },
47
- },
48
- ],
49
- },
50
- ],
51
- };
52
- export const transitionWithoutPredecessor = {
53
- v: 1,
54
- format: { aspectRatio: "9:16", fps: 30 },
55
- tracks: [
56
- {
57
- id: "V1",
58
- kind: "video",
59
- contents: [
60
- {
61
- id: "clip-1",
62
- startTime: 0,
63
- duration: 10,
64
- source: {
65
- kind: "media",
66
- mediaId: "kx0000000000000000000000",
67
- },
68
- transitionIn: { type: "fade", duration: 1 },
69
- },
70
- ],
71
- },
72
- ],
73
- };
74
- export const overlappingSceneMarkers = {
75
- v: 1,
76
- format: { aspectRatio: "9:16", fps: 30 },
77
- tracks: [
78
- {
79
- id: "V1",
80
- kind: "video",
81
- contents: [
82
- {
83
- id: "clip-1",
84
- startTime: 0,
85
- duration: 30,
86
- source: {
87
- kind: "media",
88
- mediaId: "kx0000000000000000000000",
89
- },
90
- },
91
- ],
92
- },
93
- ],
94
- markers: [
95
- { id: "s1", kind: "scene", startTime: 0, endTime: 15, name: "intro" },
96
- { id: "s2", kind: "scene", startTime: 10, endTime: 25, name: "middle" },
97
- ],
98
- };
99
- export const idCollision = {
100
- v: 1,
101
- format: { aspectRatio: "9:16", fps: 30 },
102
- tracks: [
103
- {
104
- id: "V1",
105
- kind: "video",
106
- contents: [
107
- {
108
- id: "shared-id",
109
- startTime: 0,
110
- duration: 5,
111
- source: {
112
- kind: "media",
113
- mediaId: "kx0000000000000000000000",
114
- },
115
- },
116
- ],
117
- },
118
- ],
119
- markers: [{ id: "shared-id", kind: "note", startTime: 2 }],
120
- };
121
- export const clipWithExcludedRanges = {
122
- v: 1,
123
- format: { aspectRatio: "9:16", fps: 30 },
124
- tracks: [
125
- {
126
- id: "V1",
127
- kind: "video",
128
- contents: [
129
- {
130
- id: "clip-1",
131
- startTime: 0,
132
- duration: 4,
133
- source: {
134
- kind: "media",
135
- mediaId: "kx0000000000000000000000",
136
- trim: { start: 0, end: 5 },
137
- excludedRanges: [{ start: 1, end: 2, reason: "filler" }],
138
- },
139
- },
140
- ],
141
- },
142
- ],
143
- };
@@ -1,25 +0,0 @@
1
- /**
2
- * Compositions authored by the Vaaya gateway agent on 2026-06-17 that were
3
- * REJECTED by `PUT /v1/projects/:id/composition` (and would be by the
4
- * `POST /v1/composition/validate` dry-run verb) with the canonical
5
- * `Composition` validator.
6
- *
7
- * The API surfaced only `{"code":"validation_error","message":"","details":{}}`
8
- * — an EMPTY error — because `zodJson` (services/convex/api/openapi/validate.ts)
9
- * runs the Standard-Schema issues through `fromError(new ZodError(issues)).toString()`
10
- * which collapses to "". The per-field reasons exist server-side but never reach
11
- * the wire, so the agent could not self-correct.
12
- *
13
- * These fixtures are the raw wire payloads, captured verbatim. They are typed as
14
- * `unknown` (NOT `Composition`) because they are invalid by design — feed them to
15
- * `Composition.safeParse` to read the real `issues[]` the API swallowed, and to
16
- * pin the behaviour both before and after the empty-message fix.
17
- */
18
- /** First attempt — three separate portrait clips, each with its own reframe segment. */
19
- export declare const vaayaErroredCompositionV1: unknown;
20
- /**
21
- * Second attempt — Vaaya's own "fixed" version after we reported the failure:
22
- * merged the three portrait clips into one 27s clip carrying all three reframe
23
- * segments, renamed the tracks. Still rejected with the same empty error.
24
- */
25
- export declare const vaayaErroredCompositionV2: unknown;
@@ -1,203 +0,0 @@
1
- /**
2
- * Compositions authored by the Vaaya gateway agent on 2026-06-17 that were
3
- * REJECTED by `PUT /v1/projects/:id/composition` (and would be by the
4
- * `POST /v1/composition/validate` dry-run verb) with the canonical
5
- * `Composition` validator.
6
- *
7
- * The API surfaced only `{"code":"validation_error","message":"","details":{}}`
8
- * — an EMPTY error — because `zodJson` (services/convex/api/openapi/validate.ts)
9
- * runs the Standard-Schema issues through `fromError(new ZodError(issues)).toString()`
10
- * which collapses to "". The per-field reasons exist server-side but never reach
11
- * the wire, so the agent could not self-correct.
12
- *
13
- * These fixtures are the raw wire payloads, captured verbatim. They are typed as
14
- * `unknown` (NOT `Composition`) because they are invalid by design — feed them to
15
- * `Composition.safeParse` to read the real `issues[]` the API swallowed, and to
16
- * pin the behaviour both before and after the empty-message fix.
17
- */
18
- /** First attempt — three separate portrait clips, each with its own reframe segment. */
19
- export const vaayaErroredCompositionV1 = {
20
- v: 1,
21
- format: { aspectRatio: "16:9", fps: 30, resolution: "fhd" },
22
- tracks: [
23
- {
24
- id: "vid",
25
- kind: "video",
26
- contents: [
27
- {
28
- id: "title_clip",
29
- startTime: 0,
30
- duration: 4,
31
- source: {
32
- kind: "media",
33
- mediaId: "jh76np6j93brgbm96f6maa0tw988x6v0",
34
- trim: { start: 0, end: 4 },
35
- kenBurns: "in",
36
- },
37
- },
38
- {
39
- id: "portrait_seg1",
40
- startTime: 4,
41
- duration: 8,
42
- source: {
43
- kind: "media",
44
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
45
- trim: { start: 0, end: 8 },
46
- reframe: {
47
- segments: [
48
- { startSec: 4, endSec: 12, focus: { mode: "frame-center" }, zoom: 0.85, ease: { in: 0.8, out: 0.8 } },
49
- ],
50
- },
51
- },
52
- },
53
- {
54
- id: "portrait_seg2",
55
- startTime: 12,
56
- duration: 7,
57
- source: {
58
- kind: "media",
59
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
60
- trim: { start: 8, end: 15 },
61
- reframe: {
62
- segments: [
63
- { startSec: 12, endSec: 19, focus: { mode: "frame-center" }, zoom: 0.75, ease: { in: 0.6, out: 0.6 } },
64
- ],
65
- },
66
- },
67
- },
68
- {
69
- id: "portrait_seg3",
70
- startTime: 19,
71
- duration: 8,
72
- source: {
73
- kind: "media",
74
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
75
- trim: { start: 15, end: 23 },
76
- reframe: {
77
- segments: [
78
- { startSec: 19, endSec: 27, focus: { mode: "frame-center" }, zoom: 0.65, ease: { in: 0.6, out: 0.6 } },
79
- ],
80
- },
81
- },
82
- },
83
- {
84
- id: "usecases_hold",
85
- startTime: 27,
86
- duration: 4,
87
- source: {
88
- kind: "media",
89
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
90
- trim: { start: 23, end: 27 },
91
- kenBurns: "in",
92
- },
93
- },
94
- {
95
- id: "outro_title",
96
- startTime: 31,
97
- duration: 3.5,
98
- source: { kind: "media", mediaId: "jh76np6j93brgbm96f6maa0tw988x6v0", trim: { start: 0, end: 3.5 } },
99
- },
100
- ],
101
- },
102
- {
103
- id: "narr",
104
- kind: "audio",
105
- contents: [
106
- { id: "vo", startTime: 0, duration: 33.9, source: { kind: "media", mediaId: "jh72h9exp2zbv0kr5p214gq87h88xe2p", volume: 1 } },
107
- ],
108
- },
109
- {
110
- id: "music",
111
- kind: "audio",
112
- contents: [
113
- {
114
- id: "bed",
115
- startTime: 0,
116
- duration: 34.5,
117
- source: { kind: "media", mediaId: "jh74ahb6petnh4wrmhmpmcv0cd88w227", volume: 0.12, loop: true, fadeOutMs: 800 },
118
- },
119
- ],
120
- },
121
- ],
122
- };
123
- /**
124
- * Second attempt — Vaaya's own "fixed" version after we reported the failure:
125
- * merged the three portrait clips into one 27s clip carrying all three reframe
126
- * segments, renamed the tracks. Still rejected with the same empty error.
127
- */
128
- export const vaayaErroredCompositionV2 = {
129
- v: 1,
130
- format: { aspectRatio: "16:9", fps: 30, resolution: "fhd" },
131
- tracks: [
132
- {
133
- id: "video",
134
- kind: "video",
135
- contents: [
136
- {
137
- id: "title_in",
138
- startTime: 0,
139
- duration: 4,
140
- source: {
141
- kind: "media",
142
- mediaId: "jh76np6j93brgbm96f6maa0tw988x6v0",
143
- trim: { start: 0, end: 4 },
144
- kenBurns: "in",
145
- },
146
- },
147
- {
148
- id: "portrait_section",
149
- startTime: 4,
150
- duration: 27,
151
- source: {
152
- kind: "media",
153
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
154
- trim: { start: 0, end: 27 },
155
- reframe: {
156
- segments: [
157
- { startSec: 4, endSec: 12, focus: { mode: "frame-center" }, zoom: 0.85, ease: { in: 0.8, out: 0.8 } },
158
- { startSec: 12, endSec: 19, focus: { mode: "frame-center" }, zoom: 0.75, ease: { in: 0.6, out: 0.6 } },
159
- { startSec: 19, endSec: 27, focus: { mode: "frame-center" }, zoom: 0.65, ease: { in: 0.6, out: 0.6 } },
160
- ],
161
- },
162
- },
163
- },
164
- {
165
- id: "usecases_hold",
166
- startTime: 27,
167
- duration: 4,
168
- source: {
169
- kind: "media",
170
- mediaId: "jh71xe5ygsakx664syeq3x8ys588x0gx",
171
- trim: { start: 0, end: 4 },
172
- kenBurns: "in",
173
- },
174
- },
175
- {
176
- id: "outro",
177
- startTime: 31,
178
- duration: 3.5,
179
- source: { kind: "media", mediaId: "jh76np6j93brgbm96f6maa0tw988x6v0", trim: { start: 0, end: 3.5 } },
180
- },
181
- ],
182
- },
183
- {
184
- id: "narration",
185
- kind: "audio",
186
- contents: [
187
- { id: "vo", startTime: 0, duration: 33.9, source: { kind: "media", mediaId: "jh72h9exp2zbv0kr5p214gq87h88xe2p", volume: 1 } },
188
- ],
189
- },
190
- {
191
- id: "music",
192
- kind: "audio",
193
- contents: [
194
- {
195
- id: "bed",
196
- startTime: 0,
197
- duration: 34.5,
198
- source: { kind: "media", mediaId: "jh74ahb6petnh4wrmhmpmcv0cd88w227", volume: 0.12, loop: true, fadeOutMs: 800 },
199
- },
200
- ],
201
- },
202
- ],
203
- };
@@ -1,162 +0,0 @@
1
- /**
2
- * The font families the render sandbox actually has, and the advisory that
3
- * fires when a composition asks for one it doesn't.
4
- *
5
- * SSOT. This list used to exist as two hand-kept mirrors — `FONT_FAMILIES` in
6
- * `packages/execution/render-entry/src/fonts.ts` (which does the loading) and
7
- * `VENDORED_FONT_FAMILIES` in `services/convex/api/routes/components.ts` (which
8
- * does the component advisory) — under a comment claiming "there is no shared
9
- * package the app (Vite) and Convex (V8 isolate) both import". That stopped
10
- * being true once both imported `@cueframe/composition`, so the list lives here
11
- * and both sides import it.
12
- *
13
- * DEPENDENCY-FREE ON PURPOSE: the Remotion webpack bundle traverses the render
14
- * app's fonts.ts, so anything it pulls in must stay import-light. This module
15
- * has no value imports at all.
16
- *
17
- * WHY THE ADVISORY EXISTS. A real session authored 65 cards specifying
18
- * `font-family:'Fredoka','Nunito','Baloo 2',sans-serif`. None of the three is
19
- * vendored, the sandbox has no font egress, and `FONT_REGISTRY` is empty by
20
- * design — so every card rendered in Liberation Sans and nothing said a word.
21
- * The user, looking at the finished 3:17 video, attributed the result to "font
22
- * is too big".
23
- */
24
- /**
25
- * Families vendored into the render page as committed woff2 binaries. A stack
26
- * containing one of these rasterizes IDENTICALLY on all three render Chromiums
27
- * (bake box / Lambda / Modal).
28
- */
29
- export const VENDORED_FONT_FAMILIES = [
30
- "Inter",
31
- "Space Mono",
32
- "Montserrat",
33
- "Roboto",
34
- "Poppins",
35
- "Oswald",
36
- "Playfair Display",
37
- "Bebas Neue",
38
- "Instrument Serif",
39
- "National Park",
40
- "Bricolage Grotesque",
41
- "Schibsted Grotesk",
42
- ];
43
- /**
44
- * Families that are not raw woff2 but ARE registered as an `@font-face` alias
45
- * backed by a vendored binary (`Georgia` → Gelasio, the metric-compatible
46
- * replacement). Host-stable, so they are not advisory hits.
47
- */
48
- export const ALIASED_FONT_FAMILIES = ["Georgia"];
49
- const AVAILABLE_LOWER = new Set([...VENDORED_FONT_FAMILIES, ...ALIASED_FONT_FAMILIES].map((f) => f.toLowerCase()));
50
- /** True when the render sandbox can rasterize this exact family name. */
51
- export function isAvailableFontFamily(family) {
52
- return AVAILABLE_LOWER.has(family.trim().replace(/^['"]|['"]$/g, "").toLowerCase());
53
- }
54
- /** Split a CSS `font-family` value into its families, quotes stripped. */
55
- export function parseFontStack(value) {
56
- return value
57
- .split(",")
58
- .map((f) => f.trim().replace(/^['"]|['"]$/g, "").trim())
59
- .filter(Boolean);
60
- }
61
- /**
62
- * `font-family: <stack>` inside authored CSS — a card's inline `style="…"` or a
63
- * `<style>` block. Families are usually QUOTED (`'Baloo 2'`), so the value must
64
- * admit quotes while still stopping at the enclosing attribute's delimiter:
65
- * each family is a quoted run or a bare run, and the lazy `+?` stops at the
66
- * first real terminator (`;`, `}`, a closing `"`, or end of string).
67
- */
68
- const FONT_FAMILY_CSS = /font-family\s*:\s*((?:'[^']*'|"[^"]*"|[^;}"'])+?)\s*(?:;|}|"|$)/gi;
69
- /** A `fontFamily`-ish object KEY — caption style, overlay params, component props. */
70
- const FONT_FAMILY_KEY = /fontfamily$/i;
71
- /** How many distinct families to name before eliding. */
72
- const MAX_NAMED = 6;
73
- /**
74
- * Collect every font stack a composition (or ops array, or clip) requests.
75
- * Structural rather than schema-typed: families arrive through
76
- * `captions.style.fontFamily`, `captions.style.emphasisFontFamily`, a card's
77
- * html CSS, a card `tokens.fontFamily`, overlay `params.fontFamily` and
78
- * component `props.fontFamily` alike, and a new carrier is covered on arrival.
79
- */
80
- function collectFontStacks(value, out) {
81
- if (Array.isArray(value)) {
82
- for (const v of value)
83
- collectFontStacks(v, out);
84
- return;
85
- }
86
- if (value === null || typeof value !== "object")
87
- return;
88
- for (const [k, v] of Object.entries(value)) {
89
- if (typeof v === "string") {
90
- if (FONT_FAMILY_KEY.test(k))
91
- out.push(v);
92
- // Authored markup/CSS carries the request inline, not as a field. This is
93
- // the case the toddler-parks session hit — the fonts were in card html.
94
- for (const m of v.matchAll(FONT_FAMILY_CSS))
95
- out.push(m[1]);
96
- continue;
97
- }
98
- collectFontStacks(v, out);
99
- }
100
- }
101
- /**
102
- * Advisory (never blocking) for font stacks the sandbox cannot satisfy.
103
- *
104
- * Fires only when NO family in a stack is available — i.e. the render is
105
- * guaranteed to land on the generic fallback nobody chose. A stack whose
106
- * primary is unavailable but which names a vendored family after it
107
- * (`'Fredoka', 'Inter', sans-serif`) is an author's deliberate fallback and is
108
- * NOT flagged; that is the difference between "you did not get what you asked
109
- * for" and "you got something you never named", and only the second is a
110
- * silent failure worth interrupting for.
111
- *
112
- * `$brand:` refs are skipped — run this on the BRAND-RESOLVED composition and
113
- * they will already be real family names. Pure: no I/O, no kit needed.
114
- *
115
- * NOTE this is about availability, not registration: `FONT_REGISTRY` in the
116
- * director's render-env resolver is `{}` DELIBERATELY (registering a built-in
117
- * there routes it through a `delayRender` that never clears on Lambda and kills
118
- * the render at 28s). So a custom brand font does not become available by being
119
- * on a brand kit — the fix for a hit here is always "use a vendored family".
120
- *
121
- * UNRESOLVED, deliberately not asserted in the message: the `search_fonts` tool
122
- * description tells agents "the render box has network" and to `@import` a
123
- * family inside card HTML, while `resolveRenderEnvironment` states the sandbox
124
- * "has no font egress". Both cannot be true. The advisory therefore claims only
125
- * what is certain — the vendored set is what is GUARANTEED — and does not
126
- * declare @import futile. See Issues/2026-08-05-render-font-egress-contradiction.
127
- */
128
- export function detectUnavailableFonts(value) {
129
- const stacks = [];
130
- collectFontStacks(value, stacks);
131
- if (stacks.length === 0)
132
- return [];
133
- const offenders = new Map(); // primary family → stacks requesting it
134
- for (const raw of stacks) {
135
- if (raw.includes("$brand:"))
136
- continue; // unresolved ref, not a family name
137
- const families = parseFontStack(raw);
138
- if (families.length === 0)
139
- continue;
140
- // A dynamic value (`fontFamily: ${x}`) cannot be classified statically.
141
- if (families.some((f) => f.includes("${")))
142
- continue;
143
- if (families.some(isAvailableFontFamily))
144
- continue;
145
- offenders.set(families[0], (offenders.get(families[0]) ?? 0) + 1);
146
- }
147
- if (offenders.size === 0)
148
- return [];
149
- const names = [...offenders.keys()];
150
- const shown = names.slice(0, MAX_NAMED).map((n) => `\`${n}\``).join(", ");
151
- const elided = names.length > MAX_NAMED ? ` (+${names.length - MAX_NAMED} more)` : "";
152
- const requests = [...offenders.values()].reduce((a, b) => a + b, 0);
153
- return [
154
- `font_not_available — ${requests} font request${requests === 1 ? "" : "s"} name ${shown}` +
155
- `${elided}, and nothing else in those stacks is vendored either. Only the vendored faces ` +
156
- `are guaranteed present in the render, so naming a family alone gets you the generic ` +
157
- `fallback (Liberation Sans) — no error, just the wrong typeface. ` +
158
- `Guaranteed: ${VENDORED_FONT_FAMILIES.join(", ")} (plus Georgia). Note that putting the ` +
159
- `family on a brand kit does NOT make it available — brand fonts resolve against the same ` +
160
- `vendored set.`,
161
- ];
162
- }