@cueframe/kernel 0.1.4 → 0.2.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 (330) hide show
  1. package/dist/_members/account-model/validators/contextFile.d.ts +3 -21
  2. package/dist/_members/account-model/validators/conversation.d.ts +12 -42
  3. package/dist/_members/account-model/validators/dashboardInsight.d.ts +3 -17
  4. package/dist/_members/account-model/validators/sessionToken.d.ts +10 -36
  5. package/dist/_members/account-model/validators/uploadToken.d.ts +11 -21
  6. package/dist/_members/account-model/validators/userSettings.d.ts +3 -13
  7. package/dist/_members/account-model/validators/workingComposition.d.ts +3 -19
  8. package/dist/_members/authoring/capabilities.d.ts +0 -9
  9. package/dist/_members/authoring/index.d.ts +1 -1
  10. package/dist/_members/authoring/models/defaultModels.d.ts +12 -0
  11. package/dist/_members/authoring/models/modelFactory.d.ts +1 -0
  12. package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +1 -7
  13. package/dist/_members/authoring/types.d.ts +0 -1
  14. package/dist/_members/component-runtime/assetServer.d.ts +18 -0
  15. package/dist/_members/component-runtime/assetServer.d.ts.map +1 -0
  16. package/dist/_members/component-runtime/bake.d.ts +12 -0
  17. package/dist/_members/component-runtime/bake.d.ts.map +1 -0
  18. package/dist/_members/component-runtime/browserFirewall.d.ts +21 -0
  19. package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -0
  20. package/dist/_members/component-runtime/browserIdentity.d.ts +14 -0
  21. package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -0
  22. package/dist/_members/component-runtime/browserOptions.d.ts +8 -0
  23. package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -0
  24. package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
  25. package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -0
  26. package/dist/_members/component-runtime/contracts.d.ts +443 -0
  27. package/dist/_members/component-runtime/contracts.d.ts.map +1 -0
  28. package/dist/_members/component-runtime/determinism.d.ts +18 -0
  29. package/dist/_members/component-runtime/determinism.d.ts.map +1 -0
  30. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +9 -0
  31. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +1 -0
  32. package/dist/_members/component-runtime/identity.d.ts +16 -0
  33. package/dist/_members/component-runtime/identity.d.ts.map +1 -0
  34. package/dist/_members/component-runtime/importPolicy.d.ts +3 -0
  35. package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -0
  36. package/dist/_members/component-runtime/index.d.ts +11 -0
  37. package/dist/_members/component-runtime/index.d.ts.map +1 -0
  38. package/dist/_members/component-runtime/outputVerifier.d.ts +29 -0
  39. package/dist/_members/component-runtime/outputVerifier.d.ts.map +1 -0
  40. package/dist/_members/{render-harness/localRender.d.ts → component-runtime/render.d.ts} +22 -15
  41. package/dist/_members/component-runtime/render.d.ts.map +1 -0
  42. package/dist/_members/component-runtime/sourceWorkspace.d.ts +10 -0
  43. package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -0
  44. package/dist/_members/compose/index.d.ts +0 -5
  45. package/dist/_members/composition/graphics-plan/schemas.d.ts +299 -1309
  46. package/dist/_members/composition/primitive-catalog/index.d.ts +2 -2
  47. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -14
  48. package/dist/_members/composition/reframe/index.d.ts +56 -528
  49. package/dist/_members/composition/validators/brandKit.d.ts +247 -1208
  50. package/dist/_members/composition/validators/composePlan.d.ts +106 -818
  51. package/dist/_members/composition/validators/composition.d.ts +1338 -5856
  52. package/dist/_members/composition/validators/font.d.ts +35 -91
  53. package/dist/_members/composition/validators/project.d.ts +15 -46
  54. package/dist/_members/composition/validators/registry.d.ts +53 -135
  55. package/dist/_members/composition/validators/render.d.ts +803 -7273
  56. package/dist/_members/composition/validators/session.d.ts +38 -76
  57. package/dist/_members/composition/validators/webhook.d.ts +23 -50
  58. package/dist/_members/composition-ops/alphaLayers.d.ts +3 -2
  59. package/dist/_members/composition-ops/index.d.ts +409 -4309
  60. package/dist/_members/core/render/compositionAudioAndDepth.d.ts +6 -0
  61. package/dist/_members/core/render/compositionRender.d.ts +3 -4
  62. package/dist/_members/core/render/compositionValidation.d.ts +4 -0
  63. package/dist/_members/core/render/index.d.ts +2 -2
  64. package/dist/_members/core/render/types.d.ts +16 -8
  65. package/dist/_members/director/ai-sdk/messages.d.ts +67 -217
  66. package/dist/_members/director/domain/chat.d.ts +70 -293
  67. package/dist/_members/director/testing/contract.d.ts +11 -11
  68. package/dist/_members/errors/registry.d.ts +189 -3
  69. package/dist/_members/foundation/primitives/index.d.ts +1 -1
  70. package/dist/_members/mcp/adapter.d.ts +3 -0
  71. package/dist/_members/mcp/burnedNames.d.ts +0 -1
  72. package/dist/_members/mcp/core.d.ts +6 -3
  73. package/dist/_members/mcp/curation.d.ts +3 -38
  74. package/dist/_members/mcp/curationTypes.d.ts +34 -0
  75. package/dist/_members/mcp/generated/harness.d.ts +1 -1
  76. package/dist/_members/mcp/generated/operations.d.ts +10 -0
  77. package/dist/_members/mcp/main.d.ts +1 -0
  78. package/dist/_members/mcp/mediaContextFormat.d.ts +4 -0
  79. package/dist/_members/mcp/prompts.d.ts +1 -1
  80. package/dist/_members/mcp/query.d.ts +4 -0
  81. package/dist/_members/mcp/resources.d.ts +1 -1
  82. package/dist/_members/mcp/server.d.ts +1 -2
  83. package/dist/_members/mcp/wireSchema.d.ts +13 -0
  84. package/dist/_members/media-model/api.d.ts +114 -662
  85. package/dist/_members/media-model/generation.d.ts +141 -228
  86. package/dist/_members/plane/contract.d.ts +16 -19
  87. package/dist/_members/primitives/backgrounds/animated-bar-chart/config.d.ts +3 -27
  88. package/dist/_members/primitives/backgrounds/animated-line-chart/config.d.ts +2 -26
  89. package/dist/_members/primitives/backgrounds/dither-gradient-bg/config.d.ts +1 -17
  90. package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +6 -14
  91. package/dist/_members/primitives/backgrounds/ecosystem-constellation/config.d.ts +1 -11
  92. package/dist/_members/primitives/backgrounds/infinite-marquee/config.d.ts +1 -21
  93. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/config.d.ts +2 -12
  94. package/dist/_members/primitives/backgrounds/perspective-marquee/config.d.ts +2 -26
  95. package/dist/_members/primitives/backgrounds/silk-flow-bg/config.d.ts +2 -22
  96. package/dist/_members/primitives/backgrounds/vector-field/config.d.ts +1 -17
  97. package/dist/_members/primitives/backgrounds/volumetric-rays/config.d.ts +1 -19
  98. package/dist/_members/primitives/effects/blur/config.d.ts +5 -14
  99. package/dist/_members/primitives/effects/color-grade/config.d.ts +10 -18
  100. package/dist/_members/primitives/effects/grain/config.d.ts +9 -12
  101. package/dist/_members/primitives/effects/parallax/config.d.ts +8 -12
  102. package/dist/_members/primitives/effects/particles/config.d.ts +9 -20
  103. package/dist/_members/primitives/effects/pulsing-indicator/config.d.ts +1 -13
  104. package/dist/_members/primitives/effects/spotlight-card/config.d.ts +1 -25
  105. package/dist/_members/primitives/effects/spring-pop-in/config.d.ts +1 -15
  106. package/dist/_members/primitives/effects/success-confetti/config.d.ts +2 -26
  107. package/dist/_members/primitives/effects/vignette/config.d.ts +5 -12
  108. package/dist/_members/primitives/hero-text/config.d.ts +9 -24
  109. package/dist/_members/primitives/layouts/chat-to-preview-layout/config.d.ts +1 -11
  110. package/dist/_members/primitives/layouts/infinite-bento-pan/config.d.ts +1 -9
  111. package/dist/_members/primitives/layouts/letterbox/config.d.ts +1 -9
  112. package/dist/_members/primitives/layouts/photo-grid/config.d.ts +2 -12
  113. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +7 -12
  114. package/dist/_members/primitives/layouts/split-screen/config.d.ts +1 -7
  115. package/dist/_members/primitives/layouts/staggered-bento-grid/config.d.ts +3 -51
  116. package/dist/_members/primitives/lib/schema.d.ts +1 -1
  117. package/dist/_members/primitives/scenes/changelog-bite/config.d.ts +7 -24
  118. package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +5 -14
  119. package/dist/_members/primitives/scenes/landing-code-showcase/config.d.ts +1 -7
  120. package/dist/_members/primitives/scenes/live-code-compilation/config.d.ts +1 -7
  121. package/dist/_members/primitives/scenes/pricing-tier-focus/config.d.ts +2 -12
  122. package/dist/_members/primitives/scenes/product-launch-trailer/config.d.ts +1 -19
  123. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/config.d.ts +1 -11
  124. package/dist/_members/primitives/text/blur-reveal/config.d.ts +1 -17
  125. package/dist/_members/primitives/text/cinematic-title/config.d.ts +13 -73
  126. package/dist/_members/primitives/text/inline-highlight/config.d.ts +1 -21
  127. package/dist/_members/primitives/text/karaoke/config.d.ts +10 -93
  128. package/dist/_members/primitives/text/kinetic-type/config.d.ts +14 -49
  129. package/dist/_members/primitives/text/lower-third/config.d.ts +8 -70
  130. package/dist/_members/primitives/text/marker-highlight/config.d.ts +1 -23
  131. package/dist/_members/primitives/text/masked-slide-reveal/config.d.ts +1 -17
  132. package/dist/_members/primitives/text/matrix-decode/config.d.ts +1 -19
  133. package/dist/_members/primitives/text/quote-card/config.d.ts +1 -11
  134. package/dist/_members/primitives/text/rgb-glitch-text/config.d.ts +1 -23
  135. package/dist/_members/primitives/text/shimmer-sweep/config.d.ts +1 -17
  136. package/dist/_members/primitives/text/slot-machine-roll/config.d.ts +1 -17
  137. package/dist/_members/primitives/text/staggered-fade-up/config.d.ts +2 -24
  138. package/dist/_members/primitives/text/stat-counter/config.d.ts +6 -20
  139. package/dist/_members/primitives/text/strikethrough-replace/config.d.ts +1 -19
  140. package/dist/_members/primitives/text/text-effect/config.d.ts +10 -15
  141. package/dist/_members/primitives/text/text-fade-replace/config.d.ts +1 -17
  142. package/dist/_members/primitives/text/token-stream/config.d.ts +1 -11
  143. package/dist/_members/primitives/text/tracking-in/config.d.ts +1 -19
  144. package/dist/_members/primitives/text/typewriter/config.d.ts +1 -21
  145. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/config.d.ts +5 -8
  146. package/dist/_members/primitives/transitions/code-diff-wipe/config.d.ts +1 -21
  147. package/dist/_members/primitives/transitions/directional-wipe/config.d.ts +7 -6
  148. package/dist/_members/primitives/transitions/frosted-glass-wipe/config.d.ts +1 -5
  149. package/dist/_members/primitives/transitions/glitch-cut/config.d.ts +1 -7
  150. package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +6 -12
  151. package/dist/_members/primitives/transitions/ink-wipe/config.d.ts +7 -8
  152. package/dist/_members/primitives/transitions/kinetic-type-mask/config.d.ts +1 -7
  153. package/dist/_members/primitives/transitions/light-leak/config.d.ts +1 -7
  154. package/dist/_members/primitives/transitions/luma-matte/config.d.ts +6 -6
  155. package/dist/_members/primitives/transitions/morph/config.d.ts +5 -6
  156. package/dist/_members/primitives/transitions/spatial-push/config.d.ts +7 -6
  157. package/dist/_members/primitives/transitions/swipe-transition-wipe/config.d.ts +5 -10
  158. package/dist/_members/primitives/transitions/zoom-through/config.d.ts +2 -30
  159. package/dist/_members/primitives/transitions/zoom-through-transition/config.d.ts +1 -13
  160. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/config.d.ts +1 -29
  161. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/config.d.ts +1 -11
  162. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +8 -16
  163. package/dist/_members/primitives/ui-blocks/before-after-slider/config.d.ts +1 -11
  164. package/dist/_members/primitives/ui-blocks/benchmark-bars/config.d.ts +3 -73
  165. package/dist/_members/primitives/ui-blocks/bounding-box-selector/config.d.ts +1 -15
  166. package/dist/_members/primitives/ui-blocks/browser-flow/config.d.ts +1 -7
  167. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/config.d.ts +1 -21
  168. package/dist/_members/primitives/ui-blocks/chat-exchange/config.d.ts +1 -15
  169. package/dist/_members/primitives/ui-blocks/code-accordion/config.d.ts +2 -26
  170. package/dist/_members/primitives/ui-blocks/context-meter/config.d.ts +1 -13
  171. package/dist/_members/primitives/ui-blocks/cursor-flow/config.d.ts +2 -66
  172. package/dist/_members/primitives/ui-blocks/dashboard-populate/config.d.ts +1 -9
  173. package/dist/_members/primitives/ui-blocks/data-flow-pipes/config.d.ts +3 -97
  174. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +5 -14
  175. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/config.d.ts +1 -13
  176. package/dist/_members/primitives/ui-blocks/eval-scorecard/config.d.ts +2 -36
  177. package/dist/_members/primitives/ui-blocks/glass-code-block/config.d.ts +1 -23
  178. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/config.d.ts +3 -113
  179. package/dist/_members/primitives/ui-blocks/metric-gauge/config.d.ts +2 -34
  180. package/dist/_members/primitives/ui-blocks/morphing-modal/config.d.ts +3 -113
  181. package/dist/_members/primitives/ui-blocks/pipeline-journey/config.d.ts +1 -9
  182. package/dist/_members/primitives/ui-blocks/progress-steps/config.d.ts +6 -37
  183. package/dist/_members/primitives/ui-blocks/reasoning-trace/config.d.ts +2 -12
  184. package/dist/_members/primitives/ui-blocks/simulated-cursor/config.d.ts +2 -54
  185. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +9 -48
  186. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +7 -20
  187. package/dist/_members/primitives/ui-blocks/tool-call-stack/config.d.ts +2 -42
  188. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/config.d.ts +1 -19
  189. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/config.d.ts +3 -71
  190. package/dist/_members/primitives/ui-blocks/voice-waveform/config.d.ts +5 -14
  191. package/dist/_members/primitives/workspace.d.ts +1 -5
  192. package/dist/_members/render-harness/cardAssetAdmission.d.ts +3 -0
  193. package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -0
  194. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  195. package/dist/_members/render-harness/index.d.ts +1 -5
  196. package/dist/_members/render-harness/index.d.ts.map +1 -1
  197. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  198. package/dist/_members/render-harness/remotion-runtime.d.ts +20 -0
  199. package/dist/_members/render-harness/renderInputAssets.d.ts +2 -1
  200. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  201. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  202. package/dist/authoring/build-tools.js +8 -8
  203. package/dist/authoring/context.js +5 -5
  204. package/dist/authoring/models.js +3 -1
  205. package/dist/authoring/resource-routing.js +1 -1
  206. package/dist/authoring/resources.js +1 -1
  207. package/dist/authoring/tools.js +7 -7
  208. package/dist/authoring.js +15 -31
  209. package/dist/chunk-2PGLNTB7.js +132 -0
  210. package/dist/{chunk-R5BMJ2NX.js → chunk-4FOOBSEE.js} +33 -2
  211. package/dist/{chunk-YXEZ75MB.js → chunk-4JRUGT2Y.js} +43 -108
  212. package/dist/{chunk-FMODQD5P.js → chunk-4ZE564YF.js} +16 -9
  213. package/dist/chunk-5OTQ7M43.js +718 -0
  214. package/dist/{chunk-O7GNE4BQ.js → chunk-6ID2J64H.js} +4 -4
  215. package/dist/{chunk-RXCEPCAQ.js → chunk-6XI57FZZ.js} +280 -191
  216. package/dist/{chunk-2SNY75AR.js → chunk-7KEUL3FI.js} +4 -2
  217. package/dist/{chunk-WTT3GGCA.js → chunk-AD5HWBCE.js} +1 -1
  218. package/dist/{chunk-JY26PIRP.js → chunk-C5SEPOWD.js} +163 -171
  219. package/dist/chunk-CGHTMZNC.js +6 -0
  220. package/dist/chunk-DHKQ47Q6.js +57 -0
  221. package/dist/{chunk-3PM6VICZ.js → chunk-DQKSCHFC.js} +4 -4
  222. package/dist/{chunk-D6S3ZKIY.js → chunk-EEXCDFY5.js} +1 -1
  223. package/dist/{chunk-ZT7MHRQU.js → chunk-GCQ7Z7S7.js} +15 -5
  224. package/dist/{chunk-ZBRPF6GV.js → chunk-GEGRJKKO.js} +1 -1
  225. package/dist/{chunk-JRIPQ7DN.js → chunk-IBMJ33EL.js} +3 -3
  226. package/dist/{chunk-JTVFIN6H.js → chunk-IHFREGFA.js} +10 -4
  227. package/dist/chunk-IJ7PVJTK.js +114 -0
  228. package/dist/{chunk-6ABIXGLO.js → chunk-KKEY5MIW.js} +8 -8
  229. package/dist/chunk-KU376ELE.js +392 -0
  230. package/dist/{chunk-7TQCR7AB.js → chunk-LNBVTDFR.js} +1 -1
  231. package/dist/chunk-LQUWKBST.js +195 -0
  232. package/dist/chunk-M2TLRXEO.js +41 -0
  233. package/dist/{chunk-7V3F5HO4.js → chunk-NOEBAV2G.js} +58 -2
  234. package/dist/{chunk-RQ2G4DXI.js → chunk-QBKDEO7J.js} +1502 -1314
  235. package/dist/chunk-RFXR7ATW.js +244 -0
  236. package/dist/{chunk-MCBUX5XV.js → chunk-SLN5UKLT.js} +2 -2
  237. package/dist/{chunk-GH27OS5S.js → chunk-VCBLGZQQ.js} +19 -4
  238. package/dist/{chunk-TLVPDT4R.js → chunk-XHUYWVYK.js} +1 -1
  239. package/dist/{chunk-D2EGO543.js → chunk-XVBOSPZI.js} +15 -17
  240. package/dist/{chunk-YE3F4LNJ.js → chunk-Y3QGYASW.js} +18 -18
  241. package/dist/{chunk-LSP4HN5N.js → chunk-ZCAQHNPI.js} +1 -1
  242. package/dist/{chunk-PJ4R4N4Q.js → chunk-ZN6P3KOJ.js} +70 -93
  243. package/dist/chunk-ZZRBKGDA.js +109 -0
  244. package/dist/component-runtime/browserOptions.d.ts +1 -0
  245. package/dist/component-runtime/browserOptions.js +7 -0
  246. package/dist/component-runtime/contracts.d.ts +1 -0
  247. package/dist/component-runtime/contracts.js +49 -0
  248. package/dist/component-runtime/identity/browser.d.ts +1 -0
  249. package/dist/component-runtime/identity/browser.js +35 -0
  250. package/dist/component-runtime/identity.d.ts +1 -0
  251. package/dist/component-runtime/identity.js +21 -0
  252. package/dist/component-runtime/importPolicy.d.ts +1 -0
  253. package/dist/component-runtime/importPolicy.js +10 -0
  254. package/dist/component-runtime/render.d.ts +1 -0
  255. package/dist/component-runtime/render.js +34 -0
  256. package/dist/component-runtime.d.ts +1 -0
  257. package/dist/component-runtime.js +132 -0
  258. package/dist/compose.js +17 -31
  259. package/dist/composition/graphics-plan.js +1 -1
  260. package/dist/composition/ops.js +4 -4
  261. package/dist/composition/primitive-catalog.js +1 -3
  262. package/dist/composition/projection.js +2 -2
  263. package/dist/composition/timeline.js +2 -2
  264. package/dist/composition/validators.js +2 -2
  265. package/dist/composition-ops.js +23 -17
  266. package/dist/composition.js +15 -15
  267. package/dist/{context-XWNT6QZH.js → context-4GSDBFT3.js} +5 -5
  268. package/dist/core/render.js +8 -8
  269. package/dist/core/select.js +2 -2
  270. package/dist/core.js +6 -6
  271. package/dist/director/ai-sdk.js +3 -3
  272. package/dist/director/domain.js +2 -2
  273. package/dist/director.js +3 -3
  274. package/dist/errors.js +1 -1
  275. package/dist/mcp/adapter.js +22 -29
  276. package/dist/mcp/core.js +1 -1
  277. package/dist/mcp/curation.js +1 -1
  278. package/dist/mcp/executor.js +1 -1
  279. package/dist/mcp/server.js +4 -6
  280. package/dist/mcp/wire-schema.d.ts +1 -0
  281. package/dist/mcp/wire-schema.js +37 -0
  282. package/dist/mcp.js +6 -29
  283. package/dist/nle-export.js +16 -25
  284. package/dist/plane/conformance.js +1 -1
  285. package/dist/plane/contract.js +7 -0
  286. package/dist/plane.js +1 -1
  287. package/dist/primitives/backgrounds.js +2 -2
  288. package/dist/primitives/captions.js +3 -3
  289. package/dist/primitives/effects.js +2 -2
  290. package/dist/primitives/layouts.js +2 -2
  291. package/dist/primitives/lib/index.js +8 -8
  292. package/dist/primitives/lib/schema.js +1 -1
  293. package/dist/primitives/lib.js +8 -8
  294. package/dist/primitives/text.js +2 -2
  295. package/dist/primitives/ui-blocks.js +2 -2
  296. package/dist/primitives.js +18 -18
  297. package/dist/render-harness/cardAssetAdmission.d.ts +1 -0
  298. package/dist/render-harness/cardAssetAdmission.js +8 -0
  299. package/dist/render-harness/renderInputAssets.d.ts +1 -0
  300. package/dist/render-harness/renderInputAssets.js +17 -0
  301. package/dist/render-harness.js +44 -574
  302. package/package.json +71 -34
  303. package/dist/_members/authoring/transpileComponent.d.ts +0 -6
  304. package/dist/_members/authoring/transpileHelper.d.ts +0 -8
  305. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  306. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -25
  307. package/dist/_members/compose/schema.d.ts +0 -30
  308. package/dist/_members/compose/tokenResolver.d.ts +0 -17
  309. package/dist/_members/render-harness/browserOptions.d.ts +0 -11
  310. package/dist/_members/render-harness/browserOptions.d.ts.map +0 -1
  311. package/dist/_members/render-harness/contractRender.d.ts +0 -27
  312. package/dist/_members/render-harness/contractRender.d.ts.map +0 -1
  313. package/dist/_members/render-harness/localRender.d.ts.map +0 -1
  314. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -9
  315. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +0 -1
  316. package/dist/authoring/transpileComponent.d.ts +0 -1
  317. package/dist/authoring/transpileComponent.js +0 -31
  318. package/dist/authoring/transpileHelper.d.ts +0 -1
  319. package/dist/authoring/transpileHelper.js +0 -9
  320. package/dist/chunk-MHOQTPOB.js +0 -124
  321. package/dist/chunk-QSDFTYKV.js +0 -85
  322. package/dist/chunk-RHVLQNYF.js +0 -20
  323. package/dist/chunk-V24L35GM.js +0 -61
  324. package/dist/compose/renderer.d.ts +0 -1
  325. package/dist/compose/renderer.js +0 -170
  326. package/dist/render-harness/sandboxGlobalSpecs.d.ts +0 -1
  327. package/dist/render-harness/sandboxGlobalSpecs.js +0 -13
  328. package/dist/{chunk-THJAY7QS.js → chunk-BKHGL4MB.js} +4 -4
  329. package/dist/{chunk-XATRRDVG.js → chunk-G5BFI32U.js} +3 -3
  330. package/dist/{chunk-23HFEKV7.js → chunk-QISFYLBB.js} +4 -4
@@ -1,12 +1,29 @@
1
1
  import {
2
- cacheDir,
3
- componentDir,
4
- listComponents
5
- } from "./chunk-WB2VFDQZ.js";
2
+ assertCardHtmlAssetFree
3
+ } from "./chunk-IJ7PVJTK.js";
6
4
  import {
7
- GLOBALS_MODULE,
8
- SANDBOX_GLOBAL_SPECS
9
- } from "./chunk-V24L35GM.js";
5
+ assertNoRemoteRefs,
6
+ assetSlots,
7
+ assetUrlKey,
8
+ isRemoteUrl,
9
+ renderInputAssets
10
+ } from "./chunk-RFXR7ATW.js";
11
+ import "./chunk-KU376ELE.js";
12
+ import {
13
+ importFromRenderEntry,
14
+ resolveRenderEntryRoot
15
+ } from "./chunk-5OTQ7M43.js";
16
+ import "./chunk-WB2VFDQZ.js";
17
+ import {
18
+ COMPONENT_CHROMIUM_OPTIONS
19
+ } from "./chunk-CGHTMZNC.js";
20
+ import "./chunk-M2TLRXEO.js";
21
+ import "./chunk-DHKQ47Q6.js";
22
+ import "./chunk-2PGLNTB7.js";
23
+ import "./chunk-LQUWKBST.js";
24
+ import "./chunk-C5SEPOWD.js";
25
+ import "./chunk-7PA7FGLD.js";
26
+ import "./chunk-4FOOBSEE.js";
10
27
  import "./chunk-2ESYSVXG.js";
11
28
 
12
29
  // ../execution/render-harness/src/materializeSources.ts
@@ -163,121 +180,10 @@ async function extractSegments(clips, sourceFiles, opts) {
163
180
  import { existsSync as existsSync3 } from "fs";
164
181
  import { join as join3, extname as extname2 } from "path";
165
182
  import { createHash } from "crypto";
166
-
167
- // ../execution/render-harness/src/renderInputAssets.ts
168
- function isRemoteUrl(u) {
169
- return typeof u === "string" && /^https?:\/\//i.test(u) && !/^https?:\/\/(127\.0\.0\.1|localhost)(:|\/|$)/i.test(u);
170
- }
171
- function assetUrlKey(url) {
172
- return url.split("?")[0];
173
- }
174
- function* assetSlots(input) {
175
- for (const clip of input.clips ?? []) {
176
- yield { role: "source", get: () => clip.src, set: (u) => {
177
- clip.src = u;
178
- } };
179
- yield { role: "matte", get: () => clip.packedUrl, set: (u) => {
180
- clip.packedUrl = u;
181
- } };
182
- yield {
183
- role: "trajectory",
184
- get: () => clip.cropTrajectoryUrl,
185
- set: (u) => {
186
- clip.cropTrajectoryUrl = u;
187
- }
188
- };
189
- }
190
- for (const track of input.audioTracks ?? []) {
191
- yield { role: "audio", get: () => track.src, set: (u) => {
192
- track.src = u;
193
- } };
194
- }
195
- for (const overlay of input.overlays ?? []) {
196
- const params = overlay.params;
197
- if (params) {
198
- yield { role: "overlayAsset", get: () => params.src, set: (u) => {
199
- params.src = u;
200
- } };
201
- }
202
- }
203
- for (const font of input.brandKit?.fontAssets ?? []) {
204
- yield { role: "font", get: () => font.url, set: (u) => {
205
- font.url = u;
206
- } };
207
- }
208
- const bk = input.brandKit;
209
- if (bk) {
210
- if (bk.logo) {
211
- yield { role: "brandMedia", get: () => bk.logo.src, set: (u) => {
212
- bk.logo.src = u;
213
- } };
214
- }
215
- if (bk.intro) {
216
- yield { role: "brandMedia", get: () => bk.intro.src, set: (u) => {
217
- bk.intro.src = u;
218
- } };
219
- }
220
- if (bk.outro) {
221
- yield { role: "brandMedia", get: () => bk.outro.src, set: (u) => {
222
- bk.outro.src = u;
223
- } };
224
- }
225
- if (bk.watermark) {
226
- yield { role: "brandMedia", get: () => bk.watermark.src, set: (u) => {
227
- bk.watermark.src = u;
228
- } };
229
- }
230
- }
231
- }
232
- function extFor(url, role) {
233
- const path = assetUrlKey(url);
234
- const m = path.match(/\.([a-z0-9]{2,5})$/i);
235
- if (m) return m[1].toLowerCase();
236
- return role === "trajectory" ? "json" : role === "audio" ? "m4a" : role === "font" ? "woff2" : "mp4";
237
- }
238
- function shortHash(s) {
239
- let h = 2166136261 >>> 0;
240
- for (let i = 0; i < s.length; i++) {
241
- h ^= s.charCodeAt(i);
242
- h = Math.imul(h, 16777619) >>> 0;
243
- }
244
- return h.toString(36);
245
- }
246
- function filenameFor(url, role) {
247
- return `${role}-${shortHash(assetUrlKey(url))}.${extFor(url, role)}`;
248
- }
249
- function renderInputAssets(input) {
250
- const seen = /* @__PURE__ */ new Set();
251
- const refs = [];
252
- for (const slot of assetSlots(input)) {
253
- const url = slot.get();
254
- if (!isRemoteUrl(url)) continue;
255
- const key = assetUrlKey(url);
256
- if (seen.has(key)) continue;
257
- seen.add(key);
258
- refs.push({ role: slot.role, url, filename: filenameFor(url, slot.role) });
259
- }
260
- return refs;
261
- }
262
- function assertNoRemoteRefs(input) {
263
- const leftover = [];
264
- for (const slot of assetSlots(input)) {
265
- const url = slot.get();
266
- if (isRemoteUrl(url)) leftover.push(`${slot.role}: ${assetUrlKey(url)}`);
267
- }
268
- if (leftover.length > 0) {
269
- throw new Error(
270
- `RenderInput still references ${leftover.length} un-localized remote asset(s) after staging \u2014 the render environment is incomplete and would block/hang in a no-egress sandbox:
271
- ` + leftover.join("\n ")
272
- );
273
- }
274
- }
275
-
276
- // ../execution/render-harness/src/resolveAssets.ts
277
183
  async function resolveAssets(renderInput, tempDir, mediaServerUrl, download) {
278
184
  const urlMap = {};
279
185
  const seen = /* @__PURE__ */ new Set();
280
- async function resolve2(url) {
186
+ async function resolve(url) {
281
187
  if (!url) return url;
282
188
  if (!isRemoteUrl(url)) return url;
283
189
  if (seen.has(url)) return urlMap[url] ?? url;
@@ -290,8 +196,10 @@ async function resolveAssets(renderInput, tempDir, mediaServerUrl, download) {
290
196
  try {
291
197
  await download(url, localPath);
292
198
  } catch (err) {
293
- console.warn(`[resolveAssets] Failed to download ${url}:`, err);
294
- return url;
199
+ throw new Error(
200
+ `Failed to materialize required render asset ${new URL(url).origin}${new URL(url).pathname}`,
201
+ { cause: err }
202
+ );
295
203
  }
296
204
  }
297
205
  const localUrl = `${mediaServerUrl}/${filename}`;
@@ -301,7 +209,7 @@ async function resolveAssets(renderInput, tempDir, mediaServerUrl, download) {
301
209
  if (renderInput.audioTracks) {
302
210
  for (const track of renderInput.audioTracks) {
303
211
  if ("src" in track && typeof track.src === "string") {
304
- track.src = await resolve2(track.src);
212
+ track.src = await resolve(track.src);
305
213
  }
306
214
  }
307
215
  }
@@ -310,7 +218,7 @@ async function resolveAssets(renderInput, tempDir, mediaServerUrl, download) {
310
218
  if (overlay.params) {
311
219
  for (const [key, value] of Object.entries(overlay.params)) {
312
220
  if (typeof value === "string" && isRemoteUrl(value)) {
313
- const resolved = await resolve2(value);
221
+ const resolved = await resolve(value);
314
222
  if (resolved) overlay.params[key] = resolved;
315
223
  }
316
224
  }
@@ -350,6 +258,7 @@ async function httpDownload(url, destPath) {
350
258
  }
351
259
  async function materializeSources(renderInput, workDir, log = () => {
352
260
  }) {
261
+ assertCardHtmlAssetFree(renderInput);
353
262
  if (renderInputAssets(renderInput).length === 0 && !hasLocalFileRefs(renderInput)) {
354
263
  return { renderInput, close: async () => {
355
264
  } };
@@ -420,7 +329,7 @@ async function materializeSources(renderInput, workDir, log = () => {
420
329
  }
421
330
  for (const slot of assetSlots(renderInput)) {
422
331
  const url = slot.get();
423
- if (!isRemoteUrl(url)) continue;
332
+ if (typeof url !== "string" || !isRemoteUrl(url)) continue;
424
333
  const local = localByKey.get(assetUrlKey(url));
425
334
  if (local) slot.set(local);
426
335
  }
@@ -451,313 +360,9 @@ async function materializeSources(renderInput, workDir, log = () => {
451
360
  };
452
361
  }
453
362
 
454
- // ../execution/render-harness/src/localRender.ts
455
- import { mkdirSync, writeFileSync } from "fs";
456
- import { join as join5, relative, resolve, dirname } from "path";
457
- import { fileURLToPath as fileURLToPath2 } from "url";
458
-
459
- // ../execution/render-harness/src/browserOptions.ts
460
- var SOFTWARE_CHROMIUM_OPTIONS = Object.freeze({ gl: "swangle" });
461
-
462
- // ../execution/render-harness/src/localRender.ts
463
- var LOCAL_REGISTRY_FILENAME = "registry.local.tsx";
464
- var LOCAL_ROOT_FILENAME = "Root.local.tsx";
465
- var LOCAL_ENTRY_FILENAME = "entry.local.tsx";
466
- var LOCAL_COMPOSITION_ID = "CueFrameLocalStill";
467
- function toImportSpecifier(fromDir, toFile) {
468
- const rel = relative(fromDir, toFile).split("\\").join("/");
469
- return rel.startsWith(".") ? rel : `./${rel}`;
470
- }
471
- function generateLocalRegistry(ws) {
472
- const dir = cacheDir(ws);
473
- mkdirSync(dir, { recursive: true });
474
- const ids = listComponents(ws);
475
- const imports = [];
476
- const registrations = [];
477
- ids.forEach((id, i) => {
478
- const configFile = join5(componentDir(ws, id), "config");
479
- const spec = toImportSpecifier(dir, configFile);
480
- const local = `config${i}`;
481
- imports.push(`import { config as ${local} } from '${spec}'; // ${id}`);
482
- registrations.push(`registerPrimitiveOverride(${local} as LocalPrimitiveConfig, OWNER);`);
483
- });
484
- const source = `// GENERATED by @cueframe/render-harness generateLocalRegistry \u2014 DO NOT EDIT.
485
- import { registerPrimitiveOverride, resetPrimitiveOverrides } from '@cueframe/compose';
486
- ${imports.join("\n")}
487
-
488
- type LocalPrimitiveConfig = Parameters<typeof registerPrimitiveOverride>[0];
489
-
490
- const OWNER = ${JSON.stringify(ws.root)};
491
- resetPrimitiveOverrides();
492
- ${registrations.join("\n")}
493
- `;
494
- const outPath = join5(dir, LOCAL_REGISTRY_FILENAME);
495
- writeFileSync(outPath, source);
496
- return outPath;
497
- }
498
- function generateLocalRoot(ws, opts) {
499
- const dir = cacheDir(ws);
500
- mkdirSync(dir, { recursive: true });
501
- const root = `// GENERATED by @cueframe/render-harness \u2014 DO NOT EDIT.
502
- import React from 'react';
503
- import { Composition, getInputProps } from 'remotion';
504
- import { resolvePrimitive } from '@cueframe/compose';
505
- import './${LOCAL_REGISTRY_FILENAME}';
506
-
507
- const Resolved: React.FC = () => {
508
- const params = getInputProps() as Record<string, unknown>;
509
- const meta = resolvePrimitive(${JSON.stringify(opts.id)});
510
- if (!meta) throw new Error('local primitive did not resolve: ' + ${JSON.stringify(opts.id)});
511
- const C = meta.component as React.FC<Record<string, unknown>>;
512
- return <C durationInFrames={${opts.durationInFrames}} params={params} />;
513
- };
514
-
515
- export const RemotionRoot: React.FC = () => (
516
- <Composition
517
- id=${JSON.stringify(LOCAL_COMPOSITION_ID)}
518
- component={Resolved}
519
- durationInFrames={${opts.durationInFrames}}
520
- fps={${opts.fps}}
521
- width={${opts.width}}
522
- height={${opts.height}}
523
- defaultProps={{}}
524
- />
525
- );
526
- `;
527
- writeFileSync(join5(dir, LOCAL_ROOT_FILENAME), root);
528
- const entry = `// GENERATED by @cueframe/render-harness \u2014 DO NOT EDIT.
529
- import { registerRoot } from 'remotion';
530
- import { RemotionRoot } from './${LOCAL_ROOT_FILENAME}';
531
- registerRoot(RemotionRoot);
532
- `;
533
- const entryPath = join5(dir, LOCAL_ENTRY_FILENAME);
534
- writeFileSync(entryPath, entry);
535
- return entryPath;
536
- }
537
- function buildBoxGlobalsProvideMap(args) {
538
- const { renderEntryRoot, specs, animateNames } = args;
539
- const globalsModule = join5(renderEntryRoot, "src", "sandbox-globals");
540
- const map = {};
541
- for (const [name, spec] of Object.entries(specs)) {
542
- if (spec.exportName === "default") {
543
- map[name] = spec.module;
544
- continue;
545
- }
546
- let mod;
547
- if (spec.module === GLOBALS_MODULE) {
548
- mod = globalsModule;
549
- } else if (spec.module.startsWith(".")) {
550
- mod = join5(renderEntryRoot, "src", spec.module.replace(/^\.\//, ""));
551
- } else {
552
- mod = spec.module;
553
- }
554
- map[name] = [mod, spec.exportName];
555
- }
556
- for (const key of animateNames) {
557
- map[key] = ["@cueframe/animate", key];
558
- }
559
- return map;
560
- }
561
- function buildLocalWebpackOverride(renderEntryRoot, globals) {
562
- const tauriShim = join5(renderEntryRoot, "scripts", "tauri-shim.mjs");
563
- const animateAlias = join5(renderEntryRoot, "src", "animateStub.ts");
564
- class TauriShimPlugin {
565
- shimPath;
566
- constructor(shimPath) {
567
- this.shimPath = shimPath;
568
- }
569
- apply(resolver) {
570
- const shimPath = this.shimPath;
571
- resolver.getHook("resolve").tapAsync("TauriShimPlugin", ((request, ctx, cb) => {
572
- if (request.request && /^@tauri-apps\//.test(request.request)) {
573
- resolver.doResolve(
574
- resolver.getHook("resolve"),
575
- { ...request, request: shimPath },
576
- null,
577
- ctx,
578
- cb
579
- );
580
- return;
581
- }
582
- cb();
583
- }));
584
- }
585
- }
586
- const provideMap = buildBoxGlobalsProvideMap({
587
- renderEntryRoot,
588
- specs: globals.specs,
589
- animateNames: globals.animateNames
590
- });
591
- const webpack = globals.webpack;
592
- if (!webpack || typeof webpack.ProvidePlugin !== "function") {
593
- throw new Error(
594
- "buildLocalWebpackOverride: webpack.ProvidePlugin unavailable \u2014 the box bundle cannot inject the Remotion sandbox globals (no-import components would fail)."
595
- );
596
- }
597
- return (config) => ({
598
- ...config,
599
- plugins: [...config.plugins ?? [], new webpack.ProvidePlugin(provideMap)],
600
- resolve: {
601
- ...config.resolve,
602
- modules: [join5(renderEntryRoot, "node_modules"), ...config.resolve?.modules ?? ["node_modules"]],
603
- alias: {
604
- ...config.resolve?.alias,
605
- "@cueframe/animate": animateAlias,
606
- "@": join5(renderEntryRoot, "src")
607
- },
608
- plugins: [...config.resolve?.plugins ?? [], new TauriShimPlugin(tauriShim)]
609
- }
610
- });
611
- }
612
- async function importFromRenderEntry(renderEntryRoot, spec) {
613
- const { createRequire } = await import("module");
614
- const { pathToFileURL } = await import("url");
615
- const requireFromRenderEntry = createRequire(join5(renderEntryRoot, "package.json"));
616
- return await import(pathToFileURL(requireFromRenderEntry.resolve(spec)).href);
617
- }
618
- function resolveRenderEntryRoot(override) {
619
- if (override) return override;
620
- if (process.env.RENDER_ENTRY_ROOT) return process.env.RENDER_ENTRY_ROOT;
621
- const here = dirname(fileURLToPath2(import.meta.url));
622
- return join5(resolve(here, "..", ".."), "render-entry");
623
- }
624
- async function loadSandboxGlobals(renderEntryRoot) {
625
- const { pathToFileURL } = await import("url");
626
- const { createRequire } = await import("module");
627
- let animateNames;
628
- if (typeof __BOX_ANIMATE_NAMES_JSON__ !== "undefined") {
629
- animateNames = JSON.parse(__BOX_ANIMATE_NAMES_JSON__);
630
- } else {
631
- const animateStub = join5(renderEntryRoot, "src", "animateStub.ts");
632
- const animateMod = await import(pathToFileURL(animateStub).href);
633
- animateNames = animateMod.sandboxScopeNames;
634
- }
635
- const requireFromRenderEntry = createRequire(join5(renderEntryRoot, "package.json"));
636
- const bundlerPkg = requireFromRenderEntry.resolve("@remotion/bundler/package.json");
637
- const requireFromBundler = createRequire(bundlerPkg);
638
- const webpackEntry = requireFromBundler.resolve("webpack");
639
- const webpackMod = await import(pathToFileURL(webpackEntry).href);
640
- const webpack = webpackMod.default ?? webpackMod;
641
- return {
642
- specs: SANDBOX_GLOBAL_SPECS,
643
- animateNames,
644
- webpack
645
- };
646
- }
647
- async function prepareLocalBundle(opts) {
648
- const renderEntryRoot = resolveRenderEntryRoot(opts.renderEntryRoot);
649
- const browserExecutable = process.env.REMOTION_CHROME_EXECUTABLE || void 0;
650
- generateLocalRegistry(opts.ws);
651
- const entryPoint = generateLocalRoot(opts.ws, {
652
- id: opts.id,
653
- width: opts.width,
654
- height: opts.height,
655
- fps: opts.fps,
656
- durationInFrames: opts.durationInFrames
657
- });
658
- const { bundle } = await importFromRenderEntry(
659
- renderEntryRoot,
660
- "@remotion/bundler"
661
- );
662
- const { specs, animateNames, webpack } = await loadSandboxGlobals(renderEntryRoot);
663
- const serveUrl = await bundle({
664
- entryPoint,
665
- webpackOverride: buildLocalWebpackOverride(renderEntryRoot, { specs, animateNames, webpack })
666
- });
667
- return { serveUrl, browserExecutable, inputProps: opts.params, renderEntryRoot };
668
- }
669
- async function renderComponentStill(opts) {
670
- const width = opts.width ?? 1920;
671
- const height = opts.height ?? 1080;
672
- const fps = opts.fps ?? 30;
673
- const durationInFrames = opts.durationInFrames ?? 1;
674
- const frame = opts.frame ?? 0;
675
- const { serveUrl, browserExecutable, inputProps, renderEntryRoot } = await prepareLocalBundle({
676
- ws: opts.ws,
677
- id: opts.id,
678
- width,
679
- height,
680
- fps,
681
- durationInFrames,
682
- params: opts.params,
683
- renderEntryRoot: opts.renderEntryRoot
684
- });
685
- const { selectComposition, renderStill } = await importFromRenderEntry(
686
- renderEntryRoot,
687
- "@remotion/renderer"
688
- );
689
- const composition = await selectComposition({
690
- serveUrl,
691
- id: LOCAL_COMPOSITION_ID,
692
- inputProps,
693
- browserExecutable,
694
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS
695
- });
696
- const pngPath = join5(cacheDir(opts.ws), `still-${opts.id}.png`);
697
- await renderStill({
698
- composition,
699
- serveUrl,
700
- inputProps,
701
- output: pngPath,
702
- frame,
703
- browserExecutable,
704
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS,
705
- timeoutInMilliseconds: 12e4
706
- });
707
- return { pngPath };
708
- }
709
- function alphaRenderConfig(codec) {
710
- return codec === "prores" ? { codec: "prores", proResProfile: "4444", pixelFormat: "yuva444p10le", imageFormat: "png", muted: true } : { codec: "vp9", pixelFormat: "yuva420p", imageFormat: "png", muted: true };
711
- }
712
- function alphaExt(codec) {
713
- return codec === "prores" ? "mov" : "webm";
714
- }
715
- async function renderComponentAlpha(opts) {
716
- const width = opts.width ?? 1920;
717
- const height = opts.height ?? 1080;
718
- const fps = opts.fps ?? 30;
719
- const durationInFrames = opts.durationInFrames ?? fps * 3;
720
- const codec = opts.codec ?? "prores";
721
- const { serveUrl, browserExecutable, inputProps, renderEntryRoot } = await prepareLocalBundle({
722
- ws: opts.ws,
723
- id: opts.id,
724
- width,
725
- height,
726
- fps,
727
- durationInFrames,
728
- params: opts.params,
729
- renderEntryRoot: opts.renderEntryRoot
730
- });
731
- const { selectComposition, renderMedia } = await importFromRenderEntry(
732
- renderEntryRoot,
733
- "@remotion/renderer"
734
- );
735
- const composition = await selectComposition({
736
- serveUrl,
737
- id: LOCAL_COMPOSITION_ID,
738
- inputProps,
739
- browserExecutable,
740
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS
741
- });
742
- const rangeSuffix = opts.frameRange ? `-${opts.frameRange[0]}-${opts.frameRange[1]}` : "";
743
- const videoPath = join5(cacheDir(opts.ws), `alpha-${opts.id}${rangeSuffix}.${alphaExt(codec)}`);
744
- await renderMedia({
745
- composition,
746
- serveUrl,
747
- inputProps,
748
- browserExecutable,
749
- outputLocation: videoPath,
750
- ...alphaRenderConfig(codec),
751
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS,
752
- concurrency: 1,
753
- ...opts.frameRange ? { frameRange: opts.frameRange } : {}
754
- });
755
- return { videoPath };
756
- }
757
-
758
363
  // ../execution/render-harness/src/cardRender.ts
759
- import { mkdirSync as mkdirSync2, writeFileSync as writeFileSync2 } from "fs";
760
- import { join as join6 } from "path";
364
+ import { mkdirSync, writeFileSync } from "fs";
365
+ import { join as join5 } from "path";
761
366
  var CARD_COMPOSITION_ID = "CueFrameCardStill";
762
367
  var CARD_ROOT_FILENAME = "card.Root.local.tsx";
763
368
  var CARD_ENTRY_FILENAME = "card.entry.local.tsx";
@@ -803,7 +408,7 @@ function buildCardWebpackOverride(renderEntryRoot) {
803
408
  ...config,
804
409
  resolve: {
805
410
  ...config.resolve,
806
- modules: [join6(renderEntryRoot, "node_modules"), ...config.resolve?.modules ?? ["node_modules"]]
411
+ modules: [join5(renderEntryRoot, "node_modules"), ...config.resolve?.modules ?? ["node_modules"]]
807
412
  }
808
413
  });
809
414
  }
@@ -814,10 +419,10 @@ async function renderCardStill(opts) {
814
419
  const frame = opts.frame ?? 0;
815
420
  const renderEntryRoot = resolveRenderEntryRoot(opts.renderEntryRoot);
816
421
  const browserExecutable = process.env.REMOTION_CHROME_EXECUTABLE || void 0;
817
- mkdirSync2(opts.outDir, { recursive: true });
818
- writeFileSync2(join6(opts.outDir, CARD_ROOT_FILENAME), generateCardRootSource({ width, height, fps }));
819
- const entryPoint = join6(opts.outDir, CARD_ENTRY_FILENAME);
820
- writeFileSync2(entryPoint, generateCardEntrySource());
422
+ mkdirSync(opts.outDir, { recursive: true });
423
+ writeFileSync(join5(opts.outDir, CARD_ROOT_FILENAME), generateCardRootSource({ width, height, fps }));
424
+ const entryPoint = join5(opts.outDir, CARD_ENTRY_FILENAME);
425
+ writeFileSync(entryPoint, generateCardEntrySource());
821
426
  const { bundle } = await importFromRenderEntry(
822
427
  renderEntryRoot,
823
428
  "@remotion/bundler"
@@ -833,9 +438,9 @@ async function renderCardStill(opts) {
833
438
  id: CARD_COMPOSITION_ID,
834
439
  inputProps,
835
440
  browserExecutable,
836
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS
441
+ chromiumOptions: COMPONENT_CHROMIUM_OPTIONS
837
442
  });
838
- const pngPath = join6(opts.outDir, "card-still.png");
443
+ const pngPath = join5(opts.outDir, "card-still.png");
839
444
  await renderStill({
840
445
  composition,
841
446
  serveUrl,
@@ -843,162 +448,27 @@ async function renderCardStill(opts) {
843
448
  output: pngPath,
844
449
  frame,
845
450
  browserExecutable,
846
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS,
451
+ chromiumOptions: COMPONENT_CHROMIUM_OPTIONS,
847
452
  timeoutInMilliseconds: 12e4
848
453
  });
849
454
  return { pngPath };
850
455
  }
851
-
852
- // ../execution/render-harness/src/contractRender.ts
853
- import { mkdirSync as mkdirSync3, writeFileSync as writeFileSync3 } from "fs";
854
- import { join as join7 } from "path";
855
- var CONTRACT_COMPOSITION_ID = "CueFrameContractFrames";
856
- var CONTRACT_ROOT_FILENAME = "contract.Root.local.tsx";
857
- var CONTRACT_ENTRY_FILENAME = "contract.entry.local.tsx";
858
- function generateContractRootSource(opts) {
859
- if (!opts.jsxSource.includes("export default")) {
860
- throw new Error(
861
- "generateContractRootSource: jsxSource is not contract-shaped \u2014 expected an 'export default function ({ durationInFrames, params })'"
862
- );
863
- }
864
- const transformed = opts.jsxSource.replace(/export\s+default\s+/, "return ");
865
- return `// GENERATED by @cueframe/render-harness generateContractRootSource \u2014 DO NOT EDIT.
866
- import React from 'react';
867
- import {
868
- Composition,
869
- AbsoluteFill,
870
- getInputProps,
871
- useCurrentFrame,
872
- useVideoConfig,
873
- interpolate,
874
- Easing,
875
- } from 'remotion';
876
-
877
- const ContractComponent = (() => {
878
- ${transformed}
879
- })();
880
-
881
- const Frame: React.FC = () => {
882
- const { params, cssVars } = getInputProps() as {
883
- params?: Record<string, unknown>;
884
- cssVars?: Record<string, string>;
885
- };
886
- return (
887
- <AbsoluteFill>
888
- <div style={{ width: '100%', height: '100%', ...(cssVars ?? {}) }}>
889
- <ContractComponent durationInFrames={${opts.durationInFrames}} params={params ?? {}} />
890
- </div>
891
- </AbsoluteFill>
892
- );
893
- };
894
-
895
- export const RemotionRoot: React.FC = () => (
896
- <Composition
897
- id=${JSON.stringify(CONTRACT_COMPOSITION_ID)}
898
- component={Frame}
899
- durationInFrames={${opts.durationInFrames}}
900
- fps={${opts.fps}}
901
- width={${opts.width}}
902
- height={${opts.height}}
903
- defaultProps={{}}
904
- />
905
- );
906
- `;
907
- }
908
- function generateContractEntrySource() {
909
- return `// GENERATED by @cueframe/render-harness \u2014 DO NOT EDIT.
910
- import { registerRoot } from 'remotion';
911
- import { RemotionRoot } from './${CONTRACT_ROOT_FILENAME}';
912
- registerRoot(RemotionRoot);
913
- `;
914
- }
915
- async function renderContractFrames(opts) {
916
- const width = opts.width ?? 1080;
917
- const height = opts.height ?? 1920;
918
- const fps = opts.fps ?? 30;
919
- const renderEntryRoot = resolveRenderEntryRoot(opts.renderEntryRoot);
920
- const browserExecutable = process.env.REMOTION_CHROME_EXECUTABLE || void 0;
921
- mkdirSync3(opts.outDir, { recursive: true });
922
- writeFileSync3(
923
- join7(opts.outDir, CONTRACT_ROOT_FILENAME),
924
- generateContractRootSource({
925
- jsxSource: opts.jsxSource,
926
- width,
927
- height,
928
- fps,
929
- durationInFrames: opts.durationInFrames
930
- })
931
- );
932
- const entryPoint = join7(opts.outDir, CONTRACT_ENTRY_FILENAME);
933
- writeFileSync3(entryPoint, generateContractEntrySource());
934
- const { bundle } = await importFromRenderEntry(
935
- renderEntryRoot,
936
- "@remotion/bundler"
937
- );
938
- const serveUrl = await bundle({ entryPoint, webpackOverride: buildCardWebpackOverride(renderEntryRoot) });
939
- const { selectComposition, renderStill } = await importFromRenderEntry(
940
- renderEntryRoot,
941
- "@remotion/renderer"
942
- );
943
- const inputProps = { params: opts.params ?? {}, cssVars: opts.cssVars ?? {} };
944
- const composition = await selectComposition({
945
- serveUrl,
946
- id: CONTRACT_COMPOSITION_ID,
947
- inputProps,
948
- browserExecutable,
949
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS
950
- });
951
- const pngPaths = [];
952
- for (const frame of opts.frames) {
953
- const pngPath = join7(opts.outDir, `frame-${String(frame).padStart(4, "0")}.png`);
954
- await renderStill({
955
- composition,
956
- serveUrl,
957
- inputProps,
958
- output: pngPath,
959
- frame,
960
- browserExecutable,
961
- chromiumOptions: SOFTWARE_CHROMIUM_OPTIONS,
962
- timeoutInMilliseconds: 12e4
963
- });
964
- pngPaths.push(pngPath);
965
- }
966
- return { pngPaths };
967
- }
968
456
  export {
969
457
  CARD_COMPOSITION_ID,
970
458
  CARD_ENTRY_FILENAME,
971
459
  CARD_ROOT_FILENAME,
972
- CONTRACT_COMPOSITION_ID,
973
- CONTRACT_ENTRY_FILENAME,
974
- CONTRACT_ROOT_FILENAME,
975
- LOCAL_COMPOSITION_ID,
976
- LOCAL_ENTRY_FILENAME,
977
- LOCAL_REGISTRY_FILENAME,
978
- LOCAL_ROOT_FILENAME,
979
- alphaExt,
980
- alphaRenderConfig,
460
+ assertCardHtmlAssetFree,
981
461
  assertNoRemoteRefs,
982
462
  assetSlots,
983
463
  assetUrlKey,
984
- buildBoxGlobalsProvideMap,
985
464
  buildCardWebpackOverride,
986
- buildLocalWebpackOverride,
987
465
  extractSegments,
988
466
  generateCardEntrySource,
989
467
  generateCardRootSource,
990
- generateContractEntrySource,
991
- generateContractRootSource,
992
- generateLocalRegistry,
993
- importFromRenderEntry,
994
468
  isRemoteUrl,
995
469
  materializeSources,
996
470
  renderCardStill,
997
- renderComponentAlpha,
998
- renderComponentStill,
999
- renderContractFrames,
1000
471
  renderInputAssets,
1001
472
  resolveAssets,
1002
- resolveRenderEntryRoot,
1003
473
  startMediaServer
1004
474
  };