@cueframe/kernel 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/dist/_members/animate/index.d.ts +8 -2
  2. package/dist/_members/animate/layout/FlexLayout.d.ts +69 -0
  3. package/dist/_members/animate/layout/fit.d.ts +44 -0
  4. package/dist/_members/animate/layout/index.d.ts +3 -0
  5. package/dist/_members/animate/layout/solveFlex.d.ts +70 -0
  6. package/dist/_members/animate/media/MediaTileScene.d.ts +65 -0
  7. package/dist/_members/animate/media/recipes.d.ts +61 -0
  8. package/dist/_members/animate/scene/FocusPass.d.ts +76 -0
  9. package/dist/_members/animate/scene/UnlitPlane.d.ts +45 -0
  10. package/dist/_members/animate/scene/__oracle__/cssProjection.d.ts +24 -0
  11. package/dist/_members/animate/scene/assets.d.ts +21 -0
  12. package/dist/_members/animate/scene/backdrop.d.ts +7 -0
  13. package/dist/_members/animate/scene/coordinates.d.ts +58 -0
  14. package/dist/_members/animate/scene/deviceOpacity.d.ts +18 -0
  15. package/dist/_members/animate/scene/errors.d.ts +14 -0
  16. package/dist/_members/animate/scene/finishing.d.ts +69 -0
  17. package/dist/_members/animate/scene/finishingMath.d.ts +60 -0
  18. package/dist/_members/animate/scene/finishingPass.d.ts +35 -0
  19. package/dist/_members/animate/scene/focusBlur.d.ts +56 -0
  20. package/dist/_members/animate/scene/focusResources.d.ts +190 -0
  21. package/dist/_members/animate/scene/focusShaders.d.ts +68 -0
  22. package/dist/_members/animate/scene/fontReadiness.d.ts +27 -0
  23. package/dist/_members/animate/scene/grainNoise.d.ts +118 -0
  24. package/dist/_members/animate/scene/index.d.ts +19 -0
  25. package/dist/_members/animate/scene/internal.d.ts +29 -0
  26. package/dist/_members/animate/scene/planeFit.d.ts +46 -0
  27. package/dist/_members/animate/scene/preparedWorldText.d.ts +25 -0
  28. package/dist/_members/animate/scene/rasterCache.d.ts +30 -0
  29. package/dist/_members/animate/scene/rasterReadiness.d.ts +33 -0
  30. package/dist/_members/animate/scene/readiness.d.ts +69 -0
  31. package/dist/_members/animate/scene/redraw.d.ts +10 -0
  32. package/dist/_members/animate/scene/render.d.ts +9 -0
  33. package/dist/_members/animate/scene/scaling.d.ts +13 -0
  34. package/dist/_members/animate/scene/text.d.ts +40 -0
  35. package/dist/_members/animate/scene/textLayout.d.ts +78 -0
  36. package/dist/_members/animate/scene/textureImageSize.d.ts +4 -0
  37. package/dist/_members/animate/scene/useSceneImageTexture.d.ts +21 -0
  38. package/dist/_members/animate/scene/useWorldTextTexture.d.ts +21 -0
  39. package/dist/_members/animate/scene/v2/MeasuredPlaneGeometry.d.ts +7 -0
  40. package/dist/_members/animate/scene/v2/PhotographicStudioRig.d.ts +11 -0
  41. package/dist/_members/animate/scene/v2/PreparedSceneShotV1.d.ts +12 -0
  42. package/dist/_members/animate/scene/v2/SceneShotV2.d.ts +59 -0
  43. package/dist/_members/animate/scene/v2/builders.d.ts +170 -0
  44. package/dist/_members/animate/scene/v2/finishes.d.ts +152 -0
  45. package/dist/_members/animate/scene/v2/lighting.d.ts +119 -0
  46. package/dist/_members/animate/scene/v2/observePmremTargets.d.ts +4 -0
  47. package/dist/_members/animate/scene/v2/preparationFacts.d.ts +32 -0
  48. package/dist/_members/animate/scene/v2/preparedSurface.d.ts +17 -0
  49. package/dist/_members/animate/scene/v2/projectedResolution.d.ts +2 -0
  50. package/dist/_members/animate/scene/v2/renderTargetObserver.d.ts +5 -0
  51. package/dist/_members/animate/scene/v2/runtimeAllocations.d.ts +55 -0
  52. package/dist/_members/animate/scene/v2/shadow.d.ts +23 -0
  53. package/dist/_members/animate/scene/v2/slabGeometry.d.ts +134 -0
  54. package/dist/_members/animate/scene/v2/slots.d.ts +73 -0
  55. package/dist/_members/animate/scene/v2/videoBinding.d.ts +39 -0
  56. package/dist/_members/animate/scene/worldBounds.d.ts +19 -0
  57. package/dist/_members/animate/scene/worldTextRaster.d.ts +87 -0
  58. package/dist/_members/animate/scene/worldTextTexture.d.ts +32 -0
  59. package/dist/_members/animate/stage/PerspectiveStage.d.ts +73 -0
  60. package/dist/_members/animate/stage/camera.d.ts +143 -0
  61. package/dist/_members/animate/stage/dof.d.ts +9 -0
  62. package/dist/_members/animate/stage/index.d.ts +6 -0
  63. package/dist/_members/animate/stage/presets.d.ts +17 -0
  64. package/dist/_members/animate/three/DeviceMesh.d.ts +256 -0
  65. package/dist/_members/animate/three/SceneCameraRig.d.ts +12 -0
  66. package/dist/_members/animate/three/StageCameraRig.d.ts +7 -0
  67. package/dist/_members/animate/three/StudioRig.d.ts +228 -0
  68. package/dist/_members/animate/three/ThreeCanvas.d.ts +22 -0
  69. package/dist/_members/animate/three/defaultScreen.d.ts +23 -0
  70. package/dist/_members/animate/three/index.d.ts +7 -1
  71. package/dist/_members/animate/three/textureLifecycle.d.ts +29 -0
  72. package/dist/_members/animate/three/toneMapping.d.ts +113 -0
  73. package/dist/_members/animate/three/useImageTexture.d.ts +17 -0
  74. package/dist/_members/authoring/index.d.ts +2 -0
  75. package/dist/_members/authoring/scene/index.d.ts +6 -0
  76. package/dist/_members/authoring/scene/materialize.d.ts +47 -0
  77. package/dist/_members/authoring/scene/validate.d.ts +80 -0
  78. package/dist/_members/authoring/scene/wrapper.d.ts +41 -0
  79. package/dist/_members/component-runtime/allowedImports.d.ts +3 -0
  80. package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -0
  81. package/dist/_members/component-runtime/bake.d.ts +8 -0
  82. package/dist/_members/component-runtime/bake.d.ts.map +1 -1
  83. package/dist/_members/component-runtime/browserFirewall.d.ts +7 -1
  84. package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -1
  85. package/dist/_members/component-runtime/browserOptions.d.ts +59 -3
  86. package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -1
  87. package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
  88. package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
  89. package/dist/_members/component-runtime/contracts.d.ts +341 -1
  90. package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
  91. package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts +5 -0
  92. package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts.map +1 -0
  93. package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts +5 -0
  94. package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts.map +1 -0
  95. package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts +8 -0
  96. package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts.map +1 -0
  97. package/dist/_members/component-runtime/importPolicy.d.ts +3 -2
  98. package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
  99. package/dist/_members/component-runtime/index.d.ts +3 -0
  100. package/dist/_members/component-runtime/index.d.ts.map +1 -1
  101. package/dist/_members/component-runtime/livePreviewProxy.d.ts +7 -0
  102. package/dist/_members/component-runtime/livePreviewProxy.d.ts.map +1 -0
  103. package/dist/_members/component-runtime/localRoot.d.ts +37 -0
  104. package/dist/_members/component-runtime/localRoot.d.ts.map +1 -0
  105. package/dist/_members/component-runtime/mediaResolution.d.ts +25 -0
  106. package/dist/_members/component-runtime/mediaResolution.d.ts.map +1 -0
  107. package/dist/_members/component-runtime/render.d.ts +151 -13
  108. package/dist/_members/component-runtime/render.d.ts.map +1 -1
  109. package/dist/_members/component-runtime/renderDiagnostics.d.ts +14 -0
  110. package/dist/_members/component-runtime/renderDiagnostics.d.ts.map +1 -0
  111. package/dist/_members/component-runtime/sceneAdmission.d.ts +47 -0
  112. package/dist/_members/component-runtime/sceneAdmission.d.ts.map +1 -0
  113. package/dist/_members/component-runtime/sourceWorkspace.d.ts +8 -0
  114. package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -1
  115. package/dist/_members/component-runtime/webglProbe.d.ts +191 -0
  116. package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -0
  117. package/dist/_members/composition/fonts/bundledFaces.d.ts +150 -0
  118. package/dist/_members/composition/fonts/captionFaces.d.ts +268 -0
  119. package/dist/_members/composition/fonts.d.ts +11 -4
  120. package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
  121. package/dist/_members/composition/ops/types.d.ts +1 -1
  122. package/dist/_members/composition/primitive-catalog/types.d.ts +1 -0
  123. package/dist/_members/composition/projection/behind-readiness.d.ts +3 -0
  124. package/dist/_members/composition/projection/brandKit.d.ts +6 -0
  125. package/dist/_members/composition/projection/composition-floor.d.ts +2 -1
  126. package/dist/_members/composition/scene/animation.d.ts +25 -0
  127. package/dist/_members/composition/scene/budget.d.ts +29 -0
  128. package/dist/_members/composition/scene/budgetPolicy.d.mts +13 -0
  129. package/dist/_members/composition/scene/clipRules.d.ts +119 -0
  130. package/dist/_members/composition/scene/constraints.d.ts +61 -0
  131. package/dist/_members/composition/scene/device.d.ts +21 -0
  132. package/dist/_members/composition/scene/examples.d.ts +11 -0
  133. package/dist/_members/composition/scene/index.d.ts +11 -0
  134. package/dist/_members/composition/scene/photographicRig.d.ts +242 -0
  135. package/dist/_members/composition/scene/preparedRender.d.ts +239 -0
  136. package/dist/_members/composition/scene/resolution.d.ts +178 -0
  137. package/dist/_members/composition/scene/schema.d.ts +351 -0
  138. package/dist/_members/composition/scene/videoSchedule.d.ts +43 -0
  139. package/dist/_members/composition/validators/brandKit.d.ts +1 -0
  140. package/dist/_members/composition/validators/render.d.ts +2 -0
  141. package/dist/_members/composition-ops/index.d.ts +45 -0
  142. package/dist/_members/composition-ops/opRecorder.d.ts +1 -1
  143. package/dist/_members/core/render/compositionRender.d.ts +41 -9
  144. package/dist/_members/core/render/index.d.ts +9 -2
  145. package/dist/_members/core/render/sceneCaptureIdentity.d.ts +14 -0
  146. package/dist/_members/core/render/sceneShotPlan.d.ts +142 -0
  147. package/dist/_members/core/render/sceneShotPreparation.d.ts +57 -0
  148. package/dist/_members/core/render/slabDescriptor.d.ts +21 -0
  149. package/dist/_members/core/render/trackProjection.d.ts +33 -0
  150. package/dist/_members/core/render/types.d.ts +142 -0
  151. package/dist/_members/errors/registry.d.ts +6 -0
  152. package/dist/_members/mcp/adapter.d.ts +5 -0
  153. package/dist/_members/mcp/generated/sceneContract.d.ts +155 -0
  154. package/dist/_members/mcp/sceneShot.d.ts +38 -0
  155. package/dist/_members/mcp/sceneShotExample.d.ts +22 -0
  156. package/dist/_members/media-model/api.d.ts +1 -0
  157. package/dist/_members/media-model/media-kind.d.ts +1 -1
  158. package/dist/_members/media-model/testing/mediaStoreContract.d.ts +1 -1
  159. package/dist/_members/primitives/effects/index.d.ts +1 -0
  160. package/dist/_members/primitives/effects/stage-camera/config.d.ts +50 -0
  161. package/dist/_members/primitives/effects/stage-camera/index.d.ts +31 -0
  162. package/dist/_members/primitives/layouts/flex-layout/config.d.ts +73 -0
  163. package/dist/_members/primitives/layouts/flex-layout/index.d.ts +4 -0
  164. package/dist/_members/primitives/layouts/index.d.ts +1 -0
  165. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +1 -1
  166. package/dist/_members/primitives/lib/frameScale.d.ts +4 -0
  167. package/dist/_members/primitives/lib/index.d.ts +1 -0
  168. package/dist/_members/primitives/lib/palette.d.ts +30 -30
  169. package/dist/_members/primitives/lib/text/contrast.d.ts +2 -1
  170. package/dist/_members/primitives/lib/text/spec.d.ts +0 -8
  171. package/dist/_members/primitives/lib/types.d.ts +2 -0
  172. package/dist/_members/primitives/scenes/device-showcase/config.d.ts +41 -0
  173. package/dist/_members/primitives/scenes/device-showcase/index.d.ts +36 -0
  174. package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +1 -0
  175. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +2 -1
  176. package/dist/_members/primitives/scenes/index.d.ts +1 -0
  177. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +1 -1
  178. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +1 -0
  179. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +2 -1
  180. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +1 -1
  181. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +1 -1
  182. package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
  183. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  184. package/dist/_members/render-harness/css-tree-subpaths.d.ts +11 -0
  185. package/dist/_members/render-harness/extractSegments.d.ts +1 -0
  186. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  187. package/dist/_members/render-harness/imageHeader.d.ts +14 -0
  188. package/dist/_members/render-harness/imageHeader.d.ts.map +1 -0
  189. package/dist/_members/render-harness/index.d.ts +6 -0
  190. package/dist/_members/render-harness/index.d.ts.map +1 -1
  191. package/dist/_members/render-harness/materializeSources.d.ts +46 -2
  192. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  193. package/dist/_members/render-harness/nodeScenePreparation.d.ts +97 -0
  194. package/dist/_members/render-harness/nodeScenePreparation.d.ts.map +1 -0
  195. package/dist/_members/render-harness/remotion-runtime.d.ts +16 -2
  196. package/dist/_members/render-harness/renderInputAssets.d.ts +1 -1
  197. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  198. package/dist/_members/render-harness/resolveAssets.d.ts +2 -2
  199. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  200. package/dist/_members/render-harness/sceneShotAssets.d.ts +17 -0
  201. package/dist/_members/render-harness/sceneShotAssets.d.ts.map +1 -0
  202. package/dist/animate/preparation-facts.d.ts +1 -0
  203. package/dist/animate/preparation-facts.js +22 -0
  204. package/dist/animate.js +336 -1005
  205. package/dist/authoring/build-tools.js +7 -6
  206. package/dist/authoring/context.js +5 -4
  207. package/dist/authoring/prompts.js +1 -1
  208. package/dist/authoring/scene.d.ts +1 -0
  209. package/dist/authoring/scene.js +50 -0
  210. package/dist/authoring/tools.js +6 -5
  211. package/dist/authoring.js +49 -29
  212. package/dist/chunk-2L7PYYJK.js +23 -0
  213. package/dist/{chunk-ZN6P3KOJ.js → chunk-32TH76H3.js} +2 -2
  214. package/dist/chunk-5DJ3IEJR.js +4424 -0
  215. package/dist/chunk-6BVVCRRD.js +26488 -0
  216. package/dist/{chunk-DQKSCHFC.js → chunk-6EWRIAZA.js} +187 -66
  217. package/dist/{chunk-YQ7FFW3G.js → chunk-6VWICHOZ.js} +26 -5
  218. package/dist/{chunk-RETQFTGY.js → chunk-A74FZCPY.js} +42 -5
  219. package/dist/{chunk-C5SEPOWD.js → chunk-AS5EXBNS.js} +1792 -707
  220. package/dist/{chunk-U5LBYS3N.js → chunk-B3GSTQLR.js} +339 -272
  221. package/dist/chunk-BVA3537Z.js +63 -0
  222. package/dist/{chunk-DHKQ47Q6.js → chunk-DAARYRNT.js} +6 -1
  223. package/dist/chunk-DQLYWNLC.js +2063 -0
  224. package/dist/chunk-E6WHXIDF.js +3619 -0
  225. package/dist/{chunk-HXKTZPRH.js → chunk-E7GIZEPS.js} +1 -1
  226. package/dist/{chunk-M2TLRXEO.js → chunk-EXY4JJPH.js} +1 -1
  227. package/dist/{chunk-GEGRJKKO.js → chunk-F2DJL7P7.js} +1 -1
  228. package/dist/{chunk-AWT3P5ZN.js → chunk-FVDFPJHT.js} +1 -1
  229. package/dist/{chunk-EMGFZ3PR.js → chunk-FWSJLHSV.js} +5 -1
  230. package/dist/{chunk-TMIBBD5E.js → chunk-I5QWBM3M.js} +280 -113
  231. package/dist/{chunk-IBMJ33EL.js → chunk-I5RX2QZT.js} +1 -1
  232. package/dist/{chunk-4FOOBSEE.js → chunk-J3DIUG24.js} +1 -0
  233. package/dist/{chunk-AD5HWBCE.js → chunk-JX53CVJV.js} +14 -5
  234. package/dist/{chunk-LNBVTDFR.js → chunk-L2AHS3AW.js} +1 -1
  235. package/dist/{chunk-BDMTUEEZ.js → chunk-LT4PWSR2.js} +2 -2
  236. package/dist/chunk-MH3UPKWR.js +3415 -0
  237. package/dist/{chunk-RFXR7ATW.js → chunk-NUKDEOK6.js} +13 -1
  238. package/dist/{chunk-IJ7PVJTK.js → chunk-ODUWCQI3.js} +3 -2
  239. package/dist/chunk-QAGGJHAF.js +16 -0
  240. package/dist/chunk-QS36DMFG.js +332 -0
  241. package/dist/{chunk-G5BFI32U.js → chunk-RAXHCRVV.js} +1 -1
  242. package/dist/{chunk-BIBYZJL3.js → chunk-RL5SO653.js} +3 -3
  243. package/dist/{chunk-ZSZABOE5.js → chunk-S5H6GH6M.js} +1 -1
  244. package/dist/{chunk-EEXCDFY5.js → chunk-SD25VQDE.js} +1 -1
  245. package/dist/{chunk-7REW2MW3.js → chunk-SX523NDS.js} +10 -10
  246. package/dist/chunk-TARKDVP6.js +430 -0
  247. package/dist/{chunk-IHFREGFA.js → chunk-TCHPRGC5.js} +18 -2
  248. package/dist/{chunk-ZCAQHNPI.js → chunk-UKGNHZS4.js} +1 -1
  249. package/dist/{chunk-WQSGVRFU.js → chunk-UY77TMKD.js} +31 -44
  250. package/dist/chunk-VKATKWWR.js +1462 -0
  251. package/dist/{chunk-CX2IIQ4R.js → chunk-W2245F6G.js} +29 -29
  252. package/dist/{chunk-XHUYWVYK.js → chunk-WBNFSG6T.js} +1 -1
  253. package/dist/chunk-WIHXXF3X.js +221 -0
  254. package/dist/{chunk-XVBOSPZI.js → chunk-X74EEFXV.js} +6 -6
  255. package/dist/{chunk-7KEUL3FI.js → chunk-XF2QMKRG.js} +9 -1
  256. package/dist/{chunk-HFC3MKXA.js → chunk-Y4HPN4BC.js} +1 -0
  257. package/dist/{chunk-D43J23QX.js → chunk-YFSBFCXO.js} +1018 -42
  258. package/dist/{chunk-6ID2J64H.js → chunk-YHC3RXS7.js} +162 -25
  259. package/dist/{chunk-KKEY5MIW.js → chunk-ZS3A3QUM.js} +16 -16
  260. package/dist/{chunk-LQUWKBST.js → chunk-ZVG446DJ.js} +139 -10
  261. package/dist/component-runtime/browserOptions.js +14 -3
  262. package/dist/component-runtime/contracts.js +35 -3
  263. package/dist/component-runtime/identity/browser.js +1 -1
  264. package/dist/component-runtime/identity.js +2 -2
  265. package/dist/component-runtime/importPolicy.js +2 -2
  266. package/dist/component-runtime/mediaResolution.d.ts +1 -0
  267. package/dist/component-runtime/mediaResolution.js +11 -0
  268. package/dist/component-runtime/render.js +38 -5
  269. package/dist/component-runtime.js +118 -14
  270. package/dist/compose.js +26 -20
  271. package/dist/composition/fonts.js +64 -67
  272. package/dist/composition/graphics-plan.js +3 -2
  273. package/dist/composition/ops.js +4 -3
  274. package/dist/composition/primitive-catalog.js +1 -1
  275. package/dist/composition/projection.js +10 -3
  276. package/dist/composition/scene/budget-policy.d.ts +1 -0
  277. package/dist/composition/scene/budget-policy.js +17 -0
  278. package/dist/composition/scene/schema.json +2757 -0
  279. package/dist/composition/scene.d.ts +1 -0
  280. package/dist/composition/scene.js +275 -0
  281. package/dist/composition/validators.js +3 -2
  282. package/dist/composition-ops.js +103 -13
  283. package/dist/composition.js +12 -5
  284. package/dist/{context-4GSDBFT3.js → context-IUPQ54V4.js} +5 -4
  285. package/dist/core/render.js +54 -3
  286. package/dist/core/select.js +2 -2
  287. package/dist/core.js +6 -3
  288. package/dist/director/ai-sdk.js +3 -3
  289. package/dist/director/domain.js +2 -2
  290. package/dist/director.js +3 -3
  291. package/dist/errors.js +1 -1
  292. package/dist/mcp/adapter.js +4 -4
  293. package/dist/mcp/core.js +1 -1
  294. package/dist/mcp/curation.js +1 -1
  295. package/dist/mcp/server.js +4 -4
  296. package/dist/mcp.js +4 -4
  297. package/dist/media-model/media-kind.js +2 -0
  298. package/dist/media-model/testing.js +16 -11
  299. package/dist/media-model.js +1 -1
  300. package/dist/nle-export.js +26 -20
  301. package/dist/primitives/backgrounds.js +2 -2
  302. package/dist/primitives/captions.js +21 -11
  303. package/dist/primitives/effects.js +14 -4
  304. package/dist/primitives/graphics.json +3 -0
  305. package/dist/primitives/hero-text.js +4 -3
  306. package/dist/primitives/layouts.js +9 -2
  307. package/dist/primitives/lib/frameScale.d.ts +1 -0
  308. package/dist/primitives/lib/frameScale.js +11 -0
  309. package/dist/primitives/lib/index.js +18 -10
  310. package/dist/primitives/lib/palette.js +1 -1
  311. package/dist/primitives/lib/text/contrast.js +2 -1
  312. package/dist/primitives/lib/text/typeface.js +1 -1
  313. package/dist/primitives/lib.js +18 -10
  314. package/dist/primitives/params-required.json +3 -0
  315. package/dist/primitives/scenes.js +12 -3
  316. package/dist/primitives/text.js +5 -5
  317. package/dist/primitives/transitions.js +2 -2
  318. package/dist/primitives/ui-blocks.js +6 -5
  319. package/dist/primitives/version-map.json +5 -2
  320. package/dist/primitives.js +20 -13
  321. package/dist/render-harness/cardAssetAdmission.js +2 -2
  322. package/dist/render-harness/renderInputAssets.js +2 -2
  323. package/dist/render-harness.js +874 -124
  324. package/package.json +49 -15
  325. package/dist/_members/animate/three/drei.d.ts +0 -6
  326. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +0 -9
  327. package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +0 -1
  328. package/dist/chunk-5OTQ7M43.js +0 -718
  329. package/dist/chunk-CGHTMZNC.js +0 -6
  330. package/dist/chunk-KVMVYRXX.js +0 -9527
  331. package/dist/chunk-WYQX4QIK.js +0 -544
  332. /package/dist/{chunk-H5LMJKZU.js → chunk-JVDUSOYG.js} +0 -0
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  FitText
3
3
  } from "./chunk-XHGZ2E77.js";
4
+ import {
5
+ EASING_BY_INTENT
6
+ } from "./chunk-MFHXCHRI.js";
4
7
  import {
5
8
  ACCENT,
6
9
  ACCENT_STRONG,
@@ -14,7 +17,16 @@ import {
14
17
  TEXT_MUTED,
15
18
  VIOLET,
16
19
  WARNING
17
- } from "./chunk-CX2IIQ4R.js";
20
+ } from "./chunk-W2245F6G.js";
21
+ import {
22
+ CAMERA_PRESETS,
23
+ DEFAULT_CAMERA,
24
+ PerspectiveStage,
25
+ StageLayer,
26
+ perspectiveFor,
27
+ resolveCamera,
28
+ useStage
29
+ } from "./chunk-5DJ3IEJR.js";
18
30
 
19
31
  // ../execution/primitives/src/effects/blur/index.tsx
20
32
  import React2 from "react";
@@ -628,6 +640,66 @@ function SpringPopIn({
628
640
  );
629
641
  }
630
642
 
643
+ // ../execution/primitives/src/effects/stage-camera/index.tsx
644
+ import React7, { useMemo } from "react";
645
+ function laneDepths(children, layerDepth) {
646
+ const kids = React7.Children.toArray(children);
647
+ const indexes = kids.map(
648
+ (k) => React7.isValidElement(k) && typeof k.props["data-cf-layer-index"] === "number" ? k.props["data-cf-layer-index"] : Number.NaN
649
+ );
650
+ const tagged = indexes.filter((n) => Number.isFinite(n));
651
+ if (tagged.length === 0 || layerDepth === 0) return kids.map(() => 0);
652
+ const front = Math.max(...tagged);
653
+ return indexes.map((n) => Number.isFinite(n) ? (n - front) * layerDepth : 0);
654
+ }
655
+ function laneScale(z12, fov, height) {
656
+ const p = perspectiveFor(fov, height);
657
+ return (p - z12) / p;
658
+ }
659
+ var Lanes = ({ layerDepth, children }) => {
660
+ const { camera, height } = useStage();
661
+ const depths = laneDepths(children, layerDepth);
662
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, React7.Children.toArray(children).map((child, i) => /* @__PURE__ */ React7.createElement(
663
+ StageLayer,
664
+ {
665
+ key: React7.isValidElement(child) && child.key != null ? child.key : i,
666
+ z: depths[i],
667
+ scale: laneScale(depths[i], camera.fov, height)
668
+ },
669
+ child
670
+ )));
671
+ };
672
+ var StageCameraEffect = ({
673
+ move = "dolly-in",
674
+ fov = 40,
675
+ amount,
676
+ easing = "entrance",
677
+ from,
678
+ to,
679
+ focus,
680
+ layerDepth = 0,
681
+ active = true,
682
+ effectFrame = 0,
683
+ effectDurationInFrames = 60,
684
+ style,
685
+ width,
686
+ height,
687
+ children
688
+ }) => {
689
+ const keyframes = useMemo(() => {
690
+ const base = CAMERA_PRESETS[move](effectDurationInFrames, { fov, amount, easing: EASING_BY_INTENT[easing] });
691
+ if (!from && !to) return base;
692
+ const first = { frame: 0, camera: { fov, ...base[0]?.camera ?? {}, ...from ?? {} } };
693
+ const last = { frame: Math.max(1, effectDurationInFrames - 1), camera: { ...base[base.length - 1]?.camera ?? {}, ...to ?? {} }, easing: EASING_BY_INTENT[easing] };
694
+ return [first, last];
695
+ }, [move, effectDurationInFrames, fov, amount, easing, from, to]);
696
+ if (!active) {
697
+ return /* @__PURE__ */ React7.createElement("div", { style: { position: "absolute", inset: 0 } }, children);
698
+ }
699
+ const camera = resolveCamera(keyframes, effectFrame, { ...DEFAULT_CAMERA, fov });
700
+ return /* @__PURE__ */ React7.createElement(PerspectiveStage, { camera, width, height, focus, style }, /* @__PURE__ */ React7.createElement(Lanes, { layerDepth }, children));
701
+ };
702
+
631
703
  // ../execution/primitives/src/effects/success-confetti/index.tsx
632
704
  import {
633
705
  interpolate as interpolate4,
@@ -782,7 +854,7 @@ function SuccessConfetti({
782
854
  }
783
855
 
784
856
  // ../execution/primitives/src/effects/vignette/index.tsx
785
- import React7 from "react";
857
+ import React8 from "react";
786
858
  var Vignette = ({
787
859
  intensity = 0.5,
788
860
  spread = 0.5,
@@ -794,7 +866,7 @@ var Vignette = ({
794
866
  const outerStop = Math.round(70 + spread * 30);
795
867
  const shapeValue = shape === "circle" ? "circle" : "ellipse";
796
868
  const gradient = `radial-gradient(${shapeValue} at center, transparent ${innerStop}%, ${color} ${outerStop}%)`;
797
- return /* @__PURE__ */ React7.createElement(
869
+ return /* @__PURE__ */ React8.createElement(
798
870
  "div",
799
871
  {
800
872
  style: {
@@ -1278,22 +1350,84 @@ var config8 = {
1278
1350
  preview: { thumbnailFrame: 30, mode: "oneshot", defaultExample: "default-bounce" }
1279
1351
  };
1280
1352
 
1281
- // ../execution/primitives/src/effects/success-confetti/config.ts
1353
+ // ../execution/primitives/src/effects/stage-camera/config.ts
1282
1354
  import { z as z9 } from "zod";
1355
+ var cameraPartial = z9.object({
1356
+ x: z9.number().optional(),
1357
+ y: z9.number().optional(),
1358
+ z: z9.number().optional(),
1359
+ rotX: z9.number().optional(),
1360
+ rotY: z9.number().optional(),
1361
+ rotZ: z9.number().optional(),
1362
+ fov: z9.number().min(10).max(120).optional()
1363
+ }).strict();
1283
1364
  var paramsSchema9 = z9.object({
1284
- count: z9.number().int().min(10).max(400).default(120).describe("Number of confetti particles. 80\u2013150 reads festive without overwhelming."),
1285
- colors: z9.array(z9.string()).min(1).default([DANGER, WARNING, SUCCESS, TEAL, VIOLET]).describe("Particle colors to sample from. 4\u20136 distinct hues works best."),
1286
- originX: z9.number().min(0).max(1).default(0.5).describe("Horizontal origin of the burst, normalized 0\u20131."),
1287
- originY: z9.number().min(0).max(1).default(0.5).describe("Vertical origin of the burst, normalized 0\u20131."),
1288
- gravity: z9.number().min(0).max(2).default(0.8).describe("Downward acceleration. 0 = particles drift; 1+ = particles fall fast."),
1289
- velocity: z9.number().min(1).max(40).default(14).describe("Initial burst speed. Higher = particles travel further."),
1290
- text: z9.string().optional().describe('Optional centered text on top of the confetti (e.g., "\u2713 Done").'),
1291
- textColor: z9.string().default(SURFACE).describe("Color of the optional text."),
1292
- background: z9.string().optional().describe("Optional full-frame background behind the burst."),
1293
- seed: z9.string().default("cueframe").describe("Deterministic seed for the particle distribution."),
1294
- speed: z9.number().min(0.25).max(4).default(1).describe("Playback speed multiplier.")
1365
+ move: z9.enum(["static", "dolly-in", "dolly-out", "drift", "tilt-reveal", "orbit"]).default("dolly-in").describe(
1366
+ "Camera move over the effect window. dolly-in settles from far to rest; tilt-reveal leans a flat frame back into place; drift is a slow glide for holds; orbit swings around the frame centre."
1367
+ ),
1368
+ fov: z9.number().min(10).max(120).default(40).describe("Vertical field of view in degrees. 28\u201345 reads cinematic; wider exaggerates depth."),
1369
+ amount: z9.number().optional().describe("Move magnitude: px for dolly/drift, degrees for tilt/orbit. Preset default when omitted."),
1370
+ easing: z9.enum(["entrance", "emphasis", "playful", "exit", "cross", "drama", "none"]).default("entrance").describe("Easing intent for the move."),
1371
+ from: cameraPartial.optional().describe("Override the starting camera (x,y,z px; rotX,rotY,rotZ deg; fov)."),
1372
+ to: cameraPartial.optional().describe("Override the ending camera."),
1373
+ focus: z9.object({ z: z9.number(), range: z9.number().positive(), maxBlur: z9.number().min(0).max(40) }).optional().describe(
1374
+ "Layer depth of field: lanes further than `range` px from the plane at `z` blur up to `maxBlur` px. Only bites once `layerDepth` has actually spread the lanes apart, which needs two or more media tracks."
1375
+ ),
1376
+ layerDepth: z9.number().min(0).max(1e3).default(0).describe(
1377
+ "Spacing in px between successive media track lanes in depth; the top track is nearest. Needs two or more media tracks to do anything: a single-track timeline is one lane, every lane depth is 0, and the frame moves as one plane. Overlays \u2014 text, backgrounds, UI blocks, scenes \u2014 are not lanes and never take a depth. Lanes behind the front one are scaled back up so they still fill the frame at rest, so the depth reads as parallax under camera motion rather than as a shrunken layer. 0 moves the whole frame as one plane."
1378
+ )
1295
1379
  }).passthrough();
1296
1380
  var config9 = {
1381
+ id: "stage-camera",
1382
+ component: StageCameraEffect,
1383
+ name: "Stage Camera",
1384
+ category: "effects",
1385
+ kind: "component",
1386
+ version: "0.1.0",
1387
+ effectPlacement: "wrap",
1388
+ intent: "camera-move",
1389
+ description: "A scene camera over the media clip lanes: perspective dolly, tilt, drift, or orbit with optional layer depth of field. It wraps the lanes and nothing else \u2014 overlays (text, backgrounds, UI blocks, scenes) composite above it and are not moved by it. With layerDepth > 0 and two or more media tracks, each lane sits on its own depth plane and the lanes parallax against one another under the move.",
1390
+ useWhen: "Any hold of media clips that would otherwise sit still; product and screenshot reveals (tilt-reveal); opening beats (dolly-in); ambient motion under text (drift). It needs media clips to move: on a timeline whose visuals are all overlays it renders nothing. List it first among the effects so it is the innermost wrap and receives the lanes directly. Avoid stacking two stage cameras.",
1391
+ pairsWith: ["color-grade", "vignette"],
1392
+ avoidWith: ["zoom-through", "spatial-push"],
1393
+ tier: "recommended",
1394
+ useCase: ["emphasis", "intro", "full-scene"],
1395
+ tags: ["camera", "dolly", "tilt", "orbit", "parallax", "depth", "3d", "perspective", "depth-of-field"],
1396
+ mood: ["cinematic", "minimal", "tech-demo", "editorial"],
1397
+ paramsSchema: paramsSchema9,
1398
+ propDefaults: { move: "dolly-in", fov: 40, easing: "entrance", layerDepth: 0 },
1399
+ examples: [
1400
+ { name: "dolly-in", mood: ["cinematic"], params: { move: "dolly-in", fov: 36 }, description: "Settle in from far. Opening beats." },
1401
+ { name: "tilt-reveal", mood: ["tech-demo"], params: { move: "tilt-reveal", fov: 40, amount: 18 }, description: "A flat screenshot leans back into the frame." },
1402
+ { name: "drift-parallax", mood: ["minimal"], params: { move: "drift", layerDepth: 160, focus: { z: 0, range: 500, maxBlur: 8 } }, description: "Slow glide with the media lanes on separate depth planes; the lane behind softens. Requires two or more media tracks \u2014 with one track there is a single lane and this renders as a plain drift." },
1403
+ { name: "orbit", mood: ["editorial"], params: { move: "orbit", amount: 14 } }
1404
+ ],
1405
+ textParam: null,
1406
+ subtextParam: null,
1407
+ tokens: [],
1408
+ durationInFrames: 90,
1409
+ fps: 30,
1410
+ width: 1920,
1411
+ height: 1080,
1412
+ preview: { thumbnailFrame: 30, mode: "oneshot", defaultExample: "dolly-in" }
1413
+ };
1414
+
1415
+ // ../execution/primitives/src/effects/success-confetti/config.ts
1416
+ import { z as z10 } from "zod";
1417
+ var paramsSchema10 = z10.object({
1418
+ count: z10.number().int().min(10).max(400).default(120).describe("Number of confetti particles. 80\u2013150 reads festive without overwhelming."),
1419
+ colors: z10.array(z10.string()).min(1).default([DANGER, WARNING, SUCCESS, TEAL, VIOLET]).describe("Particle colors to sample from. 4\u20136 distinct hues works best."),
1420
+ originX: z10.number().min(0).max(1).default(0.5).describe("Horizontal origin of the burst, normalized 0\u20131."),
1421
+ originY: z10.number().min(0).max(1).default(0.5).describe("Vertical origin of the burst, normalized 0\u20131."),
1422
+ gravity: z10.number().min(0).max(2).default(0.8).describe("Downward acceleration. 0 = particles drift; 1+ = particles fall fast."),
1423
+ velocity: z10.number().min(1).max(40).default(14).describe("Initial burst speed. Higher = particles travel further."),
1424
+ text: z10.string().optional().describe('Optional centered text on top of the confetti (e.g., "\u2713 Done").'),
1425
+ textColor: z10.string().default(SURFACE).describe("Color of the optional text."),
1426
+ background: z10.string().optional().describe("Optional full-frame background behind the burst."),
1427
+ seed: z10.string().default("cueframe").describe("Deterministic seed for the particle distribution."),
1428
+ speed: z10.number().min(0.25).max(4).default(1).describe("Playback speed multiplier.")
1429
+ }).passthrough();
1430
+ var config10 = {
1297
1431
  id: "success-confetti",
1298
1432
  component: SuccessConfetti,
1299
1433
  name: "Success Confetti",
@@ -1309,7 +1443,7 @@ var config9 = {
1309
1443
  useCase: ["emphasis"],
1310
1444
  tags: ["effect", "confetti", "celebration", "particles", "success", "achievement"],
1311
1445
  mood: ["playful", "breaking-news"],
1312
- paramsSchema: paramsSchema9,
1446
+ paramsSchema: paramsSchema10,
1313
1447
  propDefaults: { count: 120, colors: [DANGER, WARNING, SUCCESS, TEAL, VIOLET], originX: 0.5, originY: 0.5, gravity: 0.8, velocity: 14, textColor: SURFACE, seed: "cueframe", speed: 1 },
1314
1448
  examples: [
1315
1449
  {
@@ -1336,14 +1470,14 @@ var config9 = {
1336
1470
  };
1337
1471
 
1338
1472
  // ../execution/primitives/src/effects/vignette/config.ts
1339
- import { z as z10 } from "zod";
1340
- var paramsSchema10 = z10.object({
1341
- intensity: z10.number().min(0).max(1).default(0.5).describe("Edge darkness. 0.4\u20130.6 reads as cinematic; 0.8+ feels like a tunnel."),
1342
- spread: z10.number().min(0).max(1).default(0.5).describe("How far from the edges the vignette starts. Lower = covers more of the frame."),
1343
- shape: z10.enum(["ellipse", "circle"]).default("ellipse").describe("Gradient shape. Ellipse follows the frame ratio; circle is centered round."),
1344
- color: z10.string().default("black").describe("Vignette color. Black is canonical; dark colors can tint the frame edges.")
1473
+ import { z as z11 } from "zod";
1474
+ var paramsSchema11 = z11.object({
1475
+ intensity: z11.number().min(0).max(1).default(0.5).describe("Edge darkness. 0.4\u20130.6 reads as cinematic; 0.8+ feels like a tunnel."),
1476
+ spread: z11.number().min(0).max(1).default(0.5).describe("How far from the edges the vignette starts. Lower = covers more of the frame."),
1477
+ shape: z11.enum(["ellipse", "circle"]).default("ellipse").describe("Gradient shape. Ellipse follows the frame ratio; circle is centered round."),
1478
+ color: z11.string().default("black").describe("Vignette color. Black is canonical; dark colors can tint the frame edges.")
1345
1479
  }).passthrough();
1346
- var config10 = {
1480
+ var config11 = {
1347
1481
  id: "vignette",
1348
1482
  component: Vignette,
1349
1483
  name: "Vignette",
@@ -1359,7 +1493,7 @@ var config10 = {
1359
1493
  useCase: ["grade"],
1360
1494
  tags: ["effect", "vignette", "edge", "darken", "focus", "cinematic"],
1361
1495
  mood: ["cinematic", "editorial", "minimal"],
1362
- paramsSchema: paramsSchema10,
1496
+ paramsSchema: paramsSchema11,
1363
1497
  propDefaults: { intensity: 0.5, spread: 0.5, shape: "ellipse", color: "black" },
1364
1498
  examples: [
1365
1499
  {
@@ -1394,7 +1528,8 @@ var catalog = [
1394
1528
  config7,
1395
1529
  config8,
1396
1530
  config9,
1397
- config10
1531
+ config10,
1532
+ config11
1398
1533
  ];
1399
1534
 
1400
1535
  export {
@@ -1406,6 +1541,8 @@ export {
1406
1541
  PulsingIndicator,
1407
1542
  SpotlightCard,
1408
1543
  SpringPopIn,
1544
+ laneDepths,
1545
+ StageCameraEffect,
1409
1546
  SuccessConfetti,
1410
1547
  Vignette,
1411
1548
  catalog
@@ -1,17 +1,17 @@
1
- import {
2
- recolor
3
- } from "./chunk-DLF4WVSE.js";
4
1
  import {
5
2
  TextStage
6
3
  } from "./chunk-U4V4FZGE.js";
4
+ import {
5
+ recolor
6
+ } from "./chunk-DLF4WVSE.js";
7
7
  import {
8
8
  resolveTypeface
9
- } from "./chunk-BDMTUEEZ.js";
9
+ } from "./chunk-LT4PWSR2.js";
10
10
  import {
11
11
  FLOOR_SHADOW,
12
12
  FLOOR_TEXT,
13
13
  resolveContrast
14
- } from "./chunk-EMGFZ3PR.js";
14
+ } from "./chunk-FWSJLHSV.js";
15
15
  import {
16
16
  resolveEasing,
17
17
  staggerRise,
@@ -34,7 +34,7 @@ import {
34
34
  TEXT_MUTED,
35
35
  VIOLET,
36
36
  WARNING
37
- } from "./chunk-CX2IIQ4R.js";
37
+ } from "./chunk-W2245F6G.js";
38
38
 
39
39
  // ../execution/primitives/src/text/blur-reveal/index.tsx
40
40
  import { interpolate, useCurrentFrame, useVideoConfig } from "remotion";
@@ -1912,7 +1912,7 @@ var paramsSchema = z.object({
1912
1912
  "Text color. Defaults to a video-safe off-white (text sits over footage); pass $brand:colors.textOnMedia to theme it."
1913
1913
  ),
1914
1914
  fontFamily: z.string().default(resolveTypeface("display")).describe(
1915
- "Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it."
1915
+ "Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it."
1916
1916
  ),
1917
1917
  speed: z.number().min(0.25).max(4).default(1).describe(
1918
1918
  "Playback speed multiplier. 1 = normal; 2 = twice as fast."
@@ -2044,11 +2044,11 @@ var paramsSchema3 = z3.object({
2044
2044
  highlight: z3.string().min(1).describe("The single word or phrase to emphasize."),
2045
2045
  after: z3.string().default("").describe("Text after the highlight, including leading space if any."),
2046
2046
  baseColor: z3.string().default(FLOOR_TEXT).describe("Color of the surrounding (non-highlighted) text. Defaults to a video-safe off-white so it survives over footage; pass $brand:colors.textOnMedia to theme it."),
2047
- highlightColor: z3.string().default(ACCENT_STRONG).describe("Color of the emphasized word. A warm accent by default; use a brand-kit accent for cascade."),
2047
+ highlightColor: z3.string().default(ACCENT_STRONG).describe("Color of the emphasized word. An indigo accent by default; use a brand-kit accent for cascade."),
2048
2048
  fontSize: z3.number().min(16).max(180).default(72).describe("Font size in pixels at 1920\xD71080."),
2049
2049
  fontWeight: z3.number().min(100).max(900).default(600).describe("CSS font weight applied uniformly."),
2050
2050
  speed: z3.number().min(0.25).max(4).default(1).describe("Playback speed multiplier."),
2051
- fontFamily: z3.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it.")
2051
+ fontFamily: z3.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it.")
2052
2052
  }).passthrough();
2053
2053
  var config3 = {
2054
2054
  id: "inline-highlight",
@@ -2308,7 +2308,7 @@ var paramsSchema7 = z7.object({
2308
2308
  fontSize: z7.number().min(16).max(180).default(72).describe("Font size in pixels at 1920\xD71080."),
2309
2309
  fontWeight: z7.number().min(100).max(900).default(600).describe("CSS font weight applied uniformly."),
2310
2310
  speed: z7.number().min(0.25).max(4).default(1).describe("Playback speed multiplier."),
2311
- fontFamily: z7.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it.")
2311
+ fontFamily: z7.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it.")
2312
2312
  }).passthrough();
2313
2313
  var config7 = {
2314
2314
  id: "marker-highlight",
@@ -2364,7 +2364,7 @@ var paramsSchema8 = z8.object({
2364
2364
  fontSize: z8.number().min(16).max(240).default(96).describe("Font size in pixels at 1920\xD71080."),
2365
2365
  fontWeight: z8.number().min(100).max(900).default(700).describe("CSS font weight. Bold weights catch the shimmer better."),
2366
2366
  speed: z8.number().min(0.25).max(4).default(1).describe("Playback speed multiplier \u2014 controls sweep tempo."),
2367
- fontFamily: z8.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it.")
2367
+ fontFamily: z8.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it.")
2368
2368
  }).passthrough();
2369
2369
  var config8 = {
2370
2370
  id: "shimmer-sweep",
@@ -2604,7 +2604,7 @@ var paramsSchema12 = z12.object({
2604
2604
  ),
2605
2605
  cursorColor: z12.string().optional().describe("Cursor color. Falls back to text color if unset."),
2606
2606
  fontFamily: z12.string().default(resolveTypeface("display")).describe(
2607
- "Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it."
2607
+ "Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it."
2608
2608
  )
2609
2609
  }).passthrough();
2610
2610
  var config12 = {
@@ -2771,7 +2771,7 @@ var paramsSchema14 = z14.object({
2771
2771
  speed: z14.number().min(0.25).max(4).default(1).describe(
2772
2772
  "Playback speed multiplier. Note: glitchAt and glitchDuration are in source frames before the speed multiplier."
2773
2773
  ),
2774
- fontFamily: z14.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme it.")
2774
+ fontFamily: z14.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme it.")
2775
2775
  }).passthrough();
2776
2776
  var config14 = {
2777
2777
  id: "rgb-glitch-text",
@@ -3075,7 +3075,7 @@ var paramsSchema19 = z19.object({
3075
3075
  "CSS font weight. 600 gives editorial weight without overpowering the line."
3076
3076
  ),
3077
3077
  color: z19.string().default(FLOOR_TEXT).describe("Text color for both `from` and `to` (video-safe off-white over footage); pass $brand:colors.textOnMedia to theme."),
3078
- fontFamily: z19.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Bricolage Grotesque floor); pass $brand:fonts.heading to theme."),
3078
+ fontFamily: z19.string().default(resolveTypeface("display")).describe("Display typeface. Defaults to the brand display face (Inter floor); pass $brand:fonts.heading to theme."),
3079
3079
  speed: z19.number().min(0.25).max(4).default(1).describe(
3080
3080
  "Playback speed multiplier. The effect divides duration into strike (0\u201340%), fade (40\u201360%), hold (60\u2013100%) regardless of speed."
3081
3081
  )
@@ -3250,13 +3250,13 @@ var config21 = {
3250
3250
  name: "neon-arcade",
3251
3251
  mood: ["playful", "aggressive"],
3252
3252
  params: { text: "GAME ON", type: "neon", color: ACCENT, intensity: 0.9 },
3253
- description: "Mandarin neon glow \u2014 arcade/synthwave wrapper."
3253
+ description: "Indigo neon glow \u2014 arcade/synthwave wrapper."
3254
3254
  },
3255
3255
  {
3256
3256
  name: "sunset-gradient",
3257
3257
  mood: ["cinematic", "editorial"],
3258
3258
  params: { text: "Golden hour", type: "gradient", colors: [DANGER, ACCENT, WARNING], intensity: 0.8 },
3259
- description: "Warm gradient fill across the glyphs."
3259
+ description: "Coral-to-amber gradient fill across the glyphs."
3260
3260
  },
3261
3261
  {
3262
3262
  name: "minimal-outline",
@@ -4,21 +4,92 @@ var COMPONENT_SOURCE_VERSION = 2;
4
4
  var COMPONENT_BUNDLE_VERSION = 2;
5
5
  var COMPONENT_RECEIPT_VERSION = 2;
6
6
  var ComponentAssetKind = z.enum(["image", "video", "audio", "data"]);
7
+ var ComponentMediaTierV1 = z.union([
8
+ z.literal(256),
9
+ z.literal(512),
10
+ z.literal(1024),
11
+ z.literal(2048)
12
+ ]);
13
+ var ComponentMediaDemandV1 = z.discriminatedUnion("mode", [
14
+ z.object({ mode: z.literal("original") }).strict(),
15
+ z.object({ mode: z.literal("tier"), tier: ComponentMediaTierV1 }).strict(),
16
+ z.object({
17
+ mode: z.literal("auto"),
18
+ maxProjectedWidthRatio: z.number().positive().max(64),
19
+ maxProjectedHeightRatio: z.number().positive().max(64),
20
+ minVisibleSourceWidthRatio: z.number().positive().max(1).default(1),
21
+ minVisibleSourceHeightRatio: z.number().positive().max(1).default(1)
22
+ }).strict()
23
+ ]);
7
24
  var ComponentAssetDeclarationV2 = z.object({
8
25
  kind: ComponentAssetKind,
9
26
  required: z.boolean(),
10
- mimeTypes: z.array(z.string().min(1)).min(1).optional()
27
+ mimeTypes: z.array(z.string().min(1)).min(1).optional(),
28
+ mediaDemand: ComponentMediaDemandV1.optional()
11
29
  }).strict();
30
+ var ComponentGraphicsApiV2 = z.enum(["canvas2d", "webgl", "webgl2", "webgpu"]);
12
31
  var ComponentGraphicsRequirementV2 = z.object({
13
- api: z.enum(["canvas2d", "webgpu"]),
32
+ api: ComponentGraphicsApiV2,
14
33
  required: z.literal(true),
15
34
  accelerationPreference: z.enum(["hardware-preferred", "software-allowed"])
16
35
  }).strict();
36
+ var SceneShotCapabilityV2 = z.object({
37
+ version: z.literal(2)
38
+ }).strict();
39
+ var ComponentGlBackendV2 = z.enum(["angle", "angle-egl", "swangle", "vulkan"]);
40
+ var ComponentRendererConfigV2 = z.object({
41
+ glBackend: ComponentGlBackendV2,
42
+ colorPipeline: z.literal("srgb"),
43
+ sceneShot: SceneShotCapabilityV2.nullable()
44
+ }).strict();
45
+ var ComponentHostAttestationV2 = z.object({
46
+ webgl: z.string().min(1),
47
+ renderer: z.string(),
48
+ maxTextureSize: z.number().int().positive(),
49
+ halfFloatColorTarget: z.string().min(1),
50
+ glBackend: ComponentGlBackendV2
51
+ }).strict();
52
+ var ComponentStillSessionAttestationV1 = z.object({
53
+ loadedRuntimeIdentity: z.string().min(1),
54
+ loadedDependencyIdentity: z.string().min(1),
55
+ observedRasterAffectingFlags: z.object({
56
+ browserArguments: z.array(z.string().min(1))
57
+ }).strict(),
58
+ browserProduct: z.string().min(1),
59
+ browserVersion: z.string().min(1),
60
+ browserExecutableSha256: z.string().regex(/^[a-f0-9]{64}$/),
61
+ headless: z.boolean(),
62
+ os: z.string().min(1),
63
+ arch: z.string().min(1),
64
+ deviceScaleFactor: z.number().positive(),
65
+ colorProfile: z.string().min(1),
66
+ actualGlBackend: z.string().min(1),
67
+ actualRenderer: z.string().min(1),
68
+ gpuIdentity: z.string().min(1).nullable()
69
+ }).strict();
70
+ var ComponentStillSessionHostAttestationV1 = ComponentStillSessionAttestationV1.omit({
71
+ deviceScaleFactor: true
72
+ }).strict();
73
+ var ComponentStillPngContainerFactsV1 = z.object({
74
+ handle: z.string().min(1),
75
+ mimeType: z.literal("image/png"),
76
+ byteLength: z.number().int().positive(),
77
+ width: z.number().int().positive(),
78
+ height: z.number().int().positive(),
79
+ encodedSha256: z.string().regex(/^[a-f0-9]{64}$/)
80
+ }).strict();
81
+ var ComponentCapturePageRasterAttestationV1 = z.object({
82
+ sessionId: z.string().uuid(),
83
+ requestId: z.number().int().nonnegative(),
84
+ frame: z.number().int().nonnegative(),
85
+ deviceScaleFactor: z.number().positive()
86
+ }).strict();
17
87
  var ComponentManifestV2 = z.object({
18
88
  version: z.literal(COMPONENT_SOURCE_VERSION),
19
89
  assets: z.record(z.string().min(1), ComponentAssetDeclarationV2),
20
90
  graphics: ComponentGraphicsRequirementV2,
21
- alphaPolicy: z.enum(["requires-transparency", "allows-opaque"])
91
+ alphaPolicy: z.enum(["requires-transparency", "allows-opaque"]),
92
+ sceneShot: SceneShotCapabilityV2.optional()
22
93
  }).strict();
23
94
  var CANVAS2D_COMPONENT_MANIFEST_V2 = Object.freeze({
24
95
  version: COMPONENT_SOURCE_VERSION,
@@ -36,6 +107,19 @@ var ComponentSourceV2 = z.object({
36
107
  tsxSource: z.string().min(1),
37
108
  manifest: ComponentManifestV2
38
109
  }).strict();
110
+ var ComponentSourceRefV1 = z.object({
111
+ version: z.literal(1),
112
+ sourceVersionId: z.string().regex(/^[a-f0-9]{64}$/)
113
+ }).strict();
114
+ var COMPONENT_SOURCE_REF_PROP = "componentRef";
115
+ function readComponentSourceRef(props) {
116
+ const parsed = ComponentSourceRefV1.safeParse(props[COMPONENT_SOURCE_REF_PROP]);
117
+ return parsed.success ? parsed.data : null;
118
+ }
119
+ function authoredComponentProps(props) {
120
+ const { [COMPONENT_SOURCE_REF_PROP]: _reserved, ...authored } = props;
121
+ return authored;
122
+ }
39
123
  var ComponentAssetBindingV2 = z.object({
40
124
  handle: z.string().min(1).max(256),
41
125
  kind: ComponentAssetKind,
@@ -43,7 +127,8 @@ var ComponentAssetBindingV2 = z.object({
43
127
  contentSha256: z.string().regex(/^[a-f0-9]{64}$/),
44
128
  width: z.number().int().positive().optional(),
45
129
  height: z.number().int().positive().optional(),
46
- durationSec: z.number().positive().optional()
130
+ durationSec: z.number().positive().optional(),
131
+ frameRate: z.number().positive().optional()
47
132
  }).strict();
48
133
  var ComponentAssetInputV2 = z.object({
49
134
  handle: z.string().min(1).max(256),
@@ -51,7 +136,8 @@ var ComponentAssetInputV2 = z.object({
51
136
  mimeType: z.string().min(1),
52
137
  width: z.number().int().positive().optional(),
53
138
  height: z.number().int().positive().optional(),
54
- durationSec: z.number().positive().optional()
139
+ durationSec: z.number().positive().optional(),
140
+ frameRate: z.number().positive().optional()
55
141
  }).strict();
56
142
  var ComponentAssetFileV2 = z.object({
57
143
  path: z.string().min(1)
@@ -76,7 +162,8 @@ var ComponentRenderRequestV2 = z.object({
76
162
  durationInFrames: z.number().int().positive(),
77
163
  alpha: z.boolean(),
78
164
  graphics: ComponentGraphicsRequirementV2,
79
- seed: z.string().min(1)
165
+ seed: z.string().min(1),
166
+ renderer: ComponentRendererConfigV2
80
167
  }).strict();
81
168
  var ComponentBakeRequestV2 = z.object({
82
169
  version: z.literal(COMPONENT_RECEIPT_VERSION),
@@ -108,7 +195,7 @@ var ComponentBakeJobV2 = z.object({
108
195
  seed: z.string().min(1)
109
196
  }).strict();
110
197
  var ComponentGraphicsActualV2 = z.object({
111
- api: z.enum(["canvas2d", "webgpu"]),
198
+ api: ComponentGraphicsApiV2,
112
199
  acceleration: z.enum(["hardware", "software"]),
113
200
  adapterName: z.string().min(1).optional(),
114
201
  deviceLost: z.literal(false)
@@ -129,7 +216,16 @@ var ComponentRenderReceiptV2 = z.object({
129
216
  durationInFrames: z.number().int().positive(),
130
217
  alpha: z.boolean(),
131
218
  requestedGraphics: ComponentGraphicsRequirementV2,
132
- actualGraphics: ComponentGraphicsActualV2
219
+ actualGraphics: ComponentGraphicsActualV2,
220
+ renderer: ComponentRendererConfigV2,
221
+ /**
222
+ * The host the frames were captured on, or null when this render never probed one — a lane
223
+ * capturing canvas2d under no acceleration policy opens no probe page and has nothing to
224
+ * attest. Required as a key so every producer has to say which it is.
225
+ *
226
+ * Excluded from `artifactId` by `componentArtifactIdentity`; see `ComponentHostAttestationV2`.
227
+ */
228
+ host: ComponentHostAttestationV2.nullable()
133
229
  }).strict();
134
230
  var COMPONENT_RUNTIME_ERROR_CODES = [
135
231
  "invalid_component_source",
@@ -147,17 +243,21 @@ var COMPONENT_RUNTIME_ERROR_CODES = [
147
243
  "component_graphics_mismatch",
148
244
  "component_device_lost",
149
245
  "component_output_invalid",
150
- "component_conflict"
246
+ "component_conflict",
247
+ "component_scene_invalid"
151
248
  ];
152
249
  var ComponentRuntimeErrorCode = z.enum(COMPONENT_RUNTIME_ERROR_CODES);
153
250
  var ComponentRuntimeError = class extends Error {
154
251
  code;
155
252
  retryable;
253
+ /** Where the refusal points: stage, clip/component ids, and a field path (mirrors the wire envelope's locator). */
254
+ locator;
156
255
  constructor(code, message, options) {
157
256
  super(message, options?.cause === void 0 ? void 0 : { cause: options.cause });
158
257
  this.name = "ComponentRuntimeError";
159
258
  this.code = code;
160
259
  this.retryable = options?.retryable ?? false;
260
+ if (options?.locator) this.locator = options.locator;
161
261
  }
162
262
  };
163
263
  function assertGraphicsReceiptMatches(request, receipt) {
@@ -167,6 +267,19 @@ function assertGraphicsReceiptMatches(request, receipt) {
167
267
  if (receipt.actualGraphics.api !== request.graphics.api || receipt.actualGraphics.deviceLost) {
168
268
  throw new ComponentRuntimeError("component_graphics_mismatch", "Rendered graphics backend does not satisfy the component requirement.");
169
269
  }
270
+ if (request.graphics.accelerationPreference === "hardware-preferred" && receipt.actualGraphics.acceleration !== "hardware") {
271
+ throw new ComponentRuntimeError(
272
+ "component_graphics_mismatch",
273
+ "Rendered graphics backend did not use hardware acceleration."
274
+ );
275
+ }
276
+ }
277
+ function assertRendererReceiptMatches(request, receipt) {
278
+ const requested = request.renderer;
279
+ const sealed = receipt.renderer;
280
+ if (sealed.glBackend !== requested.glBackend || sealed.colorPipeline !== requested.colorPipeline || (sealed.sceneShot?.version ?? null) !== (requested.sceneShot?.version ?? null)) {
281
+ throw new ComponentRuntimeError("component_graphics_mismatch", "Renderer configuration in the receipt does not match the render request.");
282
+ }
170
283
  }
171
284
 
172
285
  export {
@@ -174,11 +287,26 @@ export {
174
287
  COMPONENT_BUNDLE_VERSION,
175
288
  COMPONENT_RECEIPT_VERSION,
176
289
  ComponentAssetKind,
290
+ ComponentMediaTierV1,
291
+ ComponentMediaDemandV1,
177
292
  ComponentAssetDeclarationV2,
293
+ ComponentGraphicsApiV2,
178
294
  ComponentGraphicsRequirementV2,
295
+ SceneShotCapabilityV2,
296
+ ComponentGlBackendV2,
297
+ ComponentRendererConfigV2,
298
+ ComponentHostAttestationV2,
299
+ ComponentStillSessionAttestationV1,
300
+ ComponentStillSessionHostAttestationV1,
301
+ ComponentStillPngContainerFactsV1,
302
+ ComponentCapturePageRasterAttestationV1,
179
303
  ComponentManifestV2,
180
304
  CANVAS2D_COMPONENT_MANIFEST_V2,
181
305
  ComponentSourceV2,
306
+ ComponentSourceRefV1,
307
+ COMPONENT_SOURCE_REF_PROP,
308
+ readComponentSourceRef,
309
+ authoredComponentProps,
182
310
  ComponentAssetBindingV2,
183
311
  ComponentAssetInputV2,
184
312
  ComponentAssetFileV2,
@@ -191,5 +319,6 @@ export {
191
319
  COMPONENT_RUNTIME_ERROR_CODES,
192
320
  ComponentRuntimeErrorCode,
193
321
  ComponentRuntimeError,
194
- assertGraphicsReceiptMatches
322
+ assertGraphicsReceiptMatches,
323
+ assertRendererReceiptMatches
195
324
  };
@@ -1,7 +1,18 @@
1
1
  import {
2
- COMPONENT_CHROMIUM_OPTIONS
3
- } from "../chunk-CGHTMZNC.js";
2
+ assertComponentBrowserHardware,
3
+ componentBrowserBackend,
4
+ componentBrowserOptions,
5
+ resolvedComponentRenderer,
6
+ webglBackend
7
+ } from "../chunk-WIHXXF3X.js";
8
+ import "../chunk-ZVG446DJ.js";
9
+ import "../chunk-MH3UPKWR.js";
10
+ import "../chunk-2L7PYYJK.js";
4
11
  import "../chunk-2ESYSVXG.js";
5
12
  export {
6
- COMPONENT_CHROMIUM_OPTIONS
13
+ assertComponentBrowserHardware,
14
+ componentBrowserBackend,
15
+ componentBrowserOptions,
16
+ resolvedComponentRenderer,
17
+ webglBackend
7
18
  };