@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.
- package/dist/_members/animate/index.d.ts +8 -2
- package/dist/_members/animate/layout/FlexLayout.d.ts +69 -0
- package/dist/_members/animate/layout/fit.d.ts +44 -0
- package/dist/_members/animate/layout/index.d.ts +3 -0
- package/dist/_members/animate/layout/solveFlex.d.ts +70 -0
- package/dist/_members/animate/media/MediaTileScene.d.ts +65 -0
- package/dist/_members/animate/media/recipes.d.ts +61 -0
- package/dist/_members/animate/scene/FocusPass.d.ts +76 -0
- package/dist/_members/animate/scene/UnlitPlane.d.ts +45 -0
- package/dist/_members/animate/scene/__oracle__/cssProjection.d.ts +24 -0
- package/dist/_members/animate/scene/assets.d.ts +21 -0
- package/dist/_members/animate/scene/backdrop.d.ts +7 -0
- package/dist/_members/animate/scene/coordinates.d.ts +58 -0
- package/dist/_members/animate/scene/deviceOpacity.d.ts +18 -0
- package/dist/_members/animate/scene/errors.d.ts +14 -0
- package/dist/_members/animate/scene/finishing.d.ts +69 -0
- package/dist/_members/animate/scene/finishingMath.d.ts +60 -0
- package/dist/_members/animate/scene/finishingPass.d.ts +35 -0
- package/dist/_members/animate/scene/focusBlur.d.ts +56 -0
- package/dist/_members/animate/scene/focusResources.d.ts +190 -0
- package/dist/_members/animate/scene/focusShaders.d.ts +68 -0
- package/dist/_members/animate/scene/fontReadiness.d.ts +27 -0
- package/dist/_members/animate/scene/grainNoise.d.ts +118 -0
- package/dist/_members/animate/scene/index.d.ts +19 -0
- package/dist/_members/animate/scene/internal.d.ts +29 -0
- package/dist/_members/animate/scene/planeFit.d.ts +46 -0
- package/dist/_members/animate/scene/preparedWorldText.d.ts +25 -0
- package/dist/_members/animate/scene/rasterCache.d.ts +30 -0
- package/dist/_members/animate/scene/rasterReadiness.d.ts +33 -0
- package/dist/_members/animate/scene/readiness.d.ts +69 -0
- package/dist/_members/animate/scene/redraw.d.ts +10 -0
- package/dist/_members/animate/scene/render.d.ts +9 -0
- package/dist/_members/animate/scene/scaling.d.ts +13 -0
- package/dist/_members/animate/scene/text.d.ts +40 -0
- package/dist/_members/animate/scene/textLayout.d.ts +78 -0
- package/dist/_members/animate/scene/textureImageSize.d.ts +4 -0
- package/dist/_members/animate/scene/useSceneImageTexture.d.ts +21 -0
- package/dist/_members/animate/scene/useWorldTextTexture.d.ts +21 -0
- package/dist/_members/animate/scene/v2/MeasuredPlaneGeometry.d.ts +7 -0
- package/dist/_members/animate/scene/v2/PhotographicStudioRig.d.ts +11 -0
- package/dist/_members/animate/scene/v2/PreparedSceneShotV1.d.ts +12 -0
- package/dist/_members/animate/scene/v2/SceneShotV2.d.ts +59 -0
- package/dist/_members/animate/scene/v2/builders.d.ts +170 -0
- package/dist/_members/animate/scene/v2/finishes.d.ts +152 -0
- package/dist/_members/animate/scene/v2/lighting.d.ts +119 -0
- package/dist/_members/animate/scene/v2/observePmremTargets.d.ts +4 -0
- package/dist/_members/animate/scene/v2/preparationFacts.d.ts +32 -0
- package/dist/_members/animate/scene/v2/preparedSurface.d.ts +17 -0
- package/dist/_members/animate/scene/v2/projectedResolution.d.ts +2 -0
- package/dist/_members/animate/scene/v2/renderTargetObserver.d.ts +5 -0
- package/dist/_members/animate/scene/v2/runtimeAllocations.d.ts +55 -0
- package/dist/_members/animate/scene/v2/shadow.d.ts +23 -0
- package/dist/_members/animate/scene/v2/slabGeometry.d.ts +134 -0
- package/dist/_members/animate/scene/v2/slots.d.ts +73 -0
- package/dist/_members/animate/scene/v2/videoBinding.d.ts +39 -0
- package/dist/_members/animate/scene/worldBounds.d.ts +19 -0
- package/dist/_members/animate/scene/worldTextRaster.d.ts +87 -0
- package/dist/_members/animate/scene/worldTextTexture.d.ts +32 -0
- package/dist/_members/animate/stage/PerspectiveStage.d.ts +73 -0
- package/dist/_members/animate/stage/camera.d.ts +143 -0
- package/dist/_members/animate/stage/dof.d.ts +9 -0
- package/dist/_members/animate/stage/index.d.ts +6 -0
- package/dist/_members/animate/stage/presets.d.ts +17 -0
- package/dist/_members/animate/three/DeviceMesh.d.ts +256 -0
- package/dist/_members/animate/three/SceneCameraRig.d.ts +12 -0
- package/dist/_members/animate/three/StageCameraRig.d.ts +7 -0
- package/dist/_members/animate/three/StudioRig.d.ts +228 -0
- package/dist/_members/animate/three/ThreeCanvas.d.ts +22 -0
- package/dist/_members/animate/three/defaultScreen.d.ts +23 -0
- package/dist/_members/animate/three/index.d.ts +7 -1
- package/dist/_members/animate/three/textureLifecycle.d.ts +29 -0
- package/dist/_members/animate/three/toneMapping.d.ts +113 -0
- package/dist/_members/animate/three/useImageTexture.d.ts +17 -0
- package/dist/_members/authoring/index.d.ts +2 -0
- package/dist/_members/authoring/scene/index.d.ts +6 -0
- package/dist/_members/authoring/scene/materialize.d.ts +47 -0
- package/dist/_members/authoring/scene/validate.d.ts +80 -0
- package/dist/_members/authoring/scene/wrapper.d.ts +41 -0
- package/dist/_members/component-runtime/allowedImports.d.ts +3 -0
- package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -0
- package/dist/_members/component-runtime/bake.d.ts +8 -0
- package/dist/_members/component-runtime/bake.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserFirewall.d.ts +7 -1
- package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserOptions.d.ts +59 -3
- package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
- package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/contracts.d.ts +341 -1
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
- package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts +5 -0
- package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts.map +1 -0
- package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts +5 -0
- package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts.map +1 -0
- package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts +8 -0
- package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts.map +1 -0
- package/dist/_members/component-runtime/importPolicy.d.ts +3 -2
- package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
- package/dist/_members/component-runtime/index.d.ts +3 -0
- package/dist/_members/component-runtime/index.d.ts.map +1 -1
- package/dist/_members/component-runtime/livePreviewProxy.d.ts +7 -0
- package/dist/_members/component-runtime/livePreviewProxy.d.ts.map +1 -0
- package/dist/_members/component-runtime/localRoot.d.ts +37 -0
- package/dist/_members/component-runtime/localRoot.d.ts.map +1 -0
- package/dist/_members/component-runtime/mediaResolution.d.ts +25 -0
- package/dist/_members/component-runtime/mediaResolution.d.ts.map +1 -0
- package/dist/_members/component-runtime/render.d.ts +151 -13
- package/dist/_members/component-runtime/render.d.ts.map +1 -1
- package/dist/_members/component-runtime/renderDiagnostics.d.ts +14 -0
- package/dist/_members/component-runtime/renderDiagnostics.d.ts.map +1 -0
- package/dist/_members/component-runtime/sceneAdmission.d.ts +47 -0
- package/dist/_members/component-runtime/sceneAdmission.d.ts.map +1 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts +8 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -1
- package/dist/_members/component-runtime/webglProbe.d.ts +191 -0
- package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -0
- package/dist/_members/composition/fonts/bundledFaces.d.ts +150 -0
- package/dist/_members/composition/fonts/captionFaces.d.ts +268 -0
- package/dist/_members/composition/fonts.d.ts +11 -4
- package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
- package/dist/_members/composition/ops/types.d.ts +1 -1
- package/dist/_members/composition/primitive-catalog/types.d.ts +1 -0
- package/dist/_members/composition/projection/behind-readiness.d.ts +3 -0
- package/dist/_members/composition/projection/brandKit.d.ts +6 -0
- package/dist/_members/composition/projection/composition-floor.d.ts +2 -1
- package/dist/_members/composition/scene/animation.d.ts +25 -0
- package/dist/_members/composition/scene/budget.d.ts +29 -0
- package/dist/_members/composition/scene/budgetPolicy.d.mts +13 -0
- package/dist/_members/composition/scene/clipRules.d.ts +119 -0
- package/dist/_members/composition/scene/constraints.d.ts +61 -0
- package/dist/_members/composition/scene/device.d.ts +21 -0
- package/dist/_members/composition/scene/examples.d.ts +11 -0
- package/dist/_members/composition/scene/index.d.ts +11 -0
- package/dist/_members/composition/scene/photographicRig.d.ts +242 -0
- package/dist/_members/composition/scene/preparedRender.d.ts +239 -0
- package/dist/_members/composition/scene/resolution.d.ts +178 -0
- package/dist/_members/composition/scene/schema.d.ts +351 -0
- package/dist/_members/composition/scene/videoSchedule.d.ts +43 -0
- package/dist/_members/composition/validators/brandKit.d.ts +1 -0
- package/dist/_members/composition/validators/render.d.ts +2 -0
- package/dist/_members/composition-ops/index.d.ts +45 -0
- package/dist/_members/composition-ops/opRecorder.d.ts +1 -1
- package/dist/_members/core/render/compositionRender.d.ts +41 -9
- package/dist/_members/core/render/index.d.ts +9 -2
- package/dist/_members/core/render/sceneCaptureIdentity.d.ts +14 -0
- package/dist/_members/core/render/sceneShotPlan.d.ts +142 -0
- package/dist/_members/core/render/sceneShotPreparation.d.ts +57 -0
- package/dist/_members/core/render/slabDescriptor.d.ts +21 -0
- package/dist/_members/core/render/trackProjection.d.ts +33 -0
- package/dist/_members/core/render/types.d.ts +142 -0
- package/dist/_members/errors/registry.d.ts +6 -0
- package/dist/_members/mcp/adapter.d.ts +5 -0
- package/dist/_members/mcp/generated/sceneContract.d.ts +155 -0
- package/dist/_members/mcp/sceneShot.d.ts +38 -0
- package/dist/_members/mcp/sceneShotExample.d.ts +22 -0
- package/dist/_members/media-model/api.d.ts +1 -0
- package/dist/_members/media-model/media-kind.d.ts +1 -1
- package/dist/_members/media-model/testing/mediaStoreContract.d.ts +1 -1
- package/dist/_members/primitives/effects/index.d.ts +1 -0
- package/dist/_members/primitives/effects/stage-camera/config.d.ts +50 -0
- package/dist/_members/primitives/effects/stage-camera/index.d.ts +31 -0
- package/dist/_members/primitives/layouts/flex-layout/config.d.ts +73 -0
- package/dist/_members/primitives/layouts/flex-layout/index.d.ts +4 -0
- package/dist/_members/primitives/layouts/index.d.ts +1 -0
- package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +1 -1
- package/dist/_members/primitives/lib/frameScale.d.ts +4 -0
- package/dist/_members/primitives/lib/index.d.ts +1 -0
- package/dist/_members/primitives/lib/palette.d.ts +30 -30
- package/dist/_members/primitives/lib/text/contrast.d.ts +2 -1
- package/dist/_members/primitives/lib/text/spec.d.ts +0 -8
- package/dist/_members/primitives/lib/types.d.ts +2 -0
- package/dist/_members/primitives/scenes/device-showcase/config.d.ts +41 -0
- package/dist/_members/primitives/scenes/device-showcase/index.d.ts +36 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +1 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +2 -1
- package/dist/_members/primitives/scenes/index.d.ts +1 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +1 -1
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +1 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +2 -1
- package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +1 -1
- package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +1 -1
- package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/css-tree-subpaths.d.ts +11 -0
- package/dist/_members/render-harness/extractSegments.d.ts +1 -0
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
- package/dist/_members/render-harness/imageHeader.d.ts +14 -0
- package/dist/_members/render-harness/imageHeader.d.ts.map +1 -0
- package/dist/_members/render-harness/index.d.ts +6 -0
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts +46 -2
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/nodeScenePreparation.d.ts +97 -0
- package/dist/_members/render-harness/nodeScenePreparation.d.ts.map +1 -0
- package/dist/_members/render-harness/remotion-runtime.d.ts +16 -2
- package/dist/_members/render-harness/renderInputAssets.d.ts +1 -1
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts +2 -2
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/sceneShotAssets.d.ts +17 -0
- package/dist/_members/render-harness/sceneShotAssets.d.ts.map +1 -0
- package/dist/animate/preparation-facts.d.ts +1 -0
- package/dist/animate/preparation-facts.js +22 -0
- package/dist/animate.js +336 -1005
- package/dist/authoring/build-tools.js +7 -6
- package/dist/authoring/context.js +5 -4
- package/dist/authoring/prompts.js +1 -1
- package/dist/authoring/scene.d.ts +1 -0
- package/dist/authoring/scene.js +50 -0
- package/dist/authoring/tools.js +6 -5
- package/dist/authoring.js +49 -29
- package/dist/chunk-2L7PYYJK.js +23 -0
- package/dist/{chunk-ZN6P3KOJ.js → chunk-32TH76H3.js} +2 -2
- package/dist/chunk-5DJ3IEJR.js +4424 -0
- package/dist/chunk-6BVVCRRD.js +26488 -0
- package/dist/{chunk-DQKSCHFC.js → chunk-6EWRIAZA.js} +187 -66
- package/dist/{chunk-YQ7FFW3G.js → chunk-6VWICHOZ.js} +26 -5
- package/dist/{chunk-RETQFTGY.js → chunk-A74FZCPY.js} +42 -5
- package/dist/{chunk-C5SEPOWD.js → chunk-AS5EXBNS.js} +1792 -707
- package/dist/{chunk-U5LBYS3N.js → chunk-B3GSTQLR.js} +339 -272
- package/dist/chunk-BVA3537Z.js +63 -0
- package/dist/{chunk-DHKQ47Q6.js → chunk-DAARYRNT.js} +6 -1
- package/dist/chunk-DQLYWNLC.js +2063 -0
- package/dist/chunk-E6WHXIDF.js +3619 -0
- package/dist/{chunk-HXKTZPRH.js → chunk-E7GIZEPS.js} +1 -1
- package/dist/{chunk-M2TLRXEO.js → chunk-EXY4JJPH.js} +1 -1
- package/dist/{chunk-GEGRJKKO.js → chunk-F2DJL7P7.js} +1 -1
- package/dist/{chunk-AWT3P5ZN.js → chunk-FVDFPJHT.js} +1 -1
- package/dist/{chunk-EMGFZ3PR.js → chunk-FWSJLHSV.js} +5 -1
- package/dist/{chunk-TMIBBD5E.js → chunk-I5QWBM3M.js} +280 -113
- package/dist/{chunk-IBMJ33EL.js → chunk-I5RX2QZT.js} +1 -1
- package/dist/{chunk-4FOOBSEE.js → chunk-J3DIUG24.js} +1 -0
- package/dist/{chunk-AD5HWBCE.js → chunk-JX53CVJV.js} +14 -5
- package/dist/{chunk-LNBVTDFR.js → chunk-L2AHS3AW.js} +1 -1
- package/dist/{chunk-BDMTUEEZ.js → chunk-LT4PWSR2.js} +2 -2
- package/dist/chunk-MH3UPKWR.js +3415 -0
- package/dist/{chunk-RFXR7ATW.js → chunk-NUKDEOK6.js} +13 -1
- package/dist/{chunk-IJ7PVJTK.js → chunk-ODUWCQI3.js} +3 -2
- package/dist/chunk-QAGGJHAF.js +16 -0
- package/dist/chunk-QS36DMFG.js +332 -0
- package/dist/{chunk-G5BFI32U.js → chunk-RAXHCRVV.js} +1 -1
- package/dist/{chunk-BIBYZJL3.js → chunk-RL5SO653.js} +3 -3
- package/dist/{chunk-ZSZABOE5.js → chunk-S5H6GH6M.js} +1 -1
- package/dist/{chunk-EEXCDFY5.js → chunk-SD25VQDE.js} +1 -1
- package/dist/{chunk-7REW2MW3.js → chunk-SX523NDS.js} +10 -10
- package/dist/chunk-TARKDVP6.js +430 -0
- package/dist/{chunk-IHFREGFA.js → chunk-TCHPRGC5.js} +18 -2
- package/dist/{chunk-ZCAQHNPI.js → chunk-UKGNHZS4.js} +1 -1
- package/dist/{chunk-WQSGVRFU.js → chunk-UY77TMKD.js} +31 -44
- package/dist/chunk-VKATKWWR.js +1462 -0
- package/dist/{chunk-CX2IIQ4R.js → chunk-W2245F6G.js} +29 -29
- package/dist/{chunk-XHUYWVYK.js → chunk-WBNFSG6T.js} +1 -1
- package/dist/chunk-WIHXXF3X.js +221 -0
- package/dist/{chunk-XVBOSPZI.js → chunk-X74EEFXV.js} +6 -6
- package/dist/{chunk-7KEUL3FI.js → chunk-XF2QMKRG.js} +9 -1
- package/dist/{chunk-HFC3MKXA.js → chunk-Y4HPN4BC.js} +1 -0
- package/dist/{chunk-D43J23QX.js → chunk-YFSBFCXO.js} +1018 -42
- package/dist/{chunk-6ID2J64H.js → chunk-YHC3RXS7.js} +162 -25
- package/dist/{chunk-KKEY5MIW.js → chunk-ZS3A3QUM.js} +16 -16
- package/dist/{chunk-LQUWKBST.js → chunk-ZVG446DJ.js} +139 -10
- package/dist/component-runtime/browserOptions.js +14 -3
- package/dist/component-runtime/contracts.js +35 -3
- package/dist/component-runtime/identity/browser.js +1 -1
- package/dist/component-runtime/identity.js +2 -2
- package/dist/component-runtime/importPolicy.js +2 -2
- package/dist/component-runtime/mediaResolution.d.ts +1 -0
- package/dist/component-runtime/mediaResolution.js +11 -0
- package/dist/component-runtime/render.js +38 -5
- package/dist/component-runtime.js +118 -14
- package/dist/compose.js +26 -20
- package/dist/composition/fonts.js +64 -67
- package/dist/composition/graphics-plan.js +3 -2
- package/dist/composition/ops.js +4 -3
- package/dist/composition/primitive-catalog.js +1 -1
- package/dist/composition/projection.js +10 -3
- package/dist/composition/scene/budget-policy.d.ts +1 -0
- package/dist/composition/scene/budget-policy.js +17 -0
- package/dist/composition/scene/schema.json +2757 -0
- package/dist/composition/scene.d.ts +1 -0
- package/dist/composition/scene.js +275 -0
- package/dist/composition/validators.js +3 -2
- package/dist/composition-ops.js +103 -13
- package/dist/composition.js +12 -5
- package/dist/{context-4GSDBFT3.js → context-IUPQ54V4.js} +5 -4
- package/dist/core/render.js +54 -3
- package/dist/core/select.js +2 -2
- package/dist/core.js +6 -3
- package/dist/director/ai-sdk.js +3 -3
- package/dist/director/domain.js +2 -2
- package/dist/director.js +3 -3
- package/dist/errors.js +1 -1
- package/dist/mcp/adapter.js +4 -4
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/server.js +4 -4
- package/dist/mcp.js +4 -4
- package/dist/media-model/media-kind.js +2 -0
- package/dist/media-model/testing.js +16 -11
- package/dist/media-model.js +1 -1
- package/dist/nle-export.js +26 -20
- package/dist/primitives/backgrounds.js +2 -2
- package/dist/primitives/captions.js +21 -11
- package/dist/primitives/effects.js +14 -4
- package/dist/primitives/graphics.json +3 -0
- package/dist/primitives/hero-text.js +4 -3
- package/dist/primitives/layouts.js +9 -2
- package/dist/primitives/lib/frameScale.d.ts +1 -0
- package/dist/primitives/lib/frameScale.js +11 -0
- package/dist/primitives/lib/index.js +18 -10
- package/dist/primitives/lib/palette.js +1 -1
- package/dist/primitives/lib/text/contrast.js +2 -1
- package/dist/primitives/lib/text/typeface.js +1 -1
- package/dist/primitives/lib.js +18 -10
- package/dist/primitives/params-required.json +3 -0
- package/dist/primitives/scenes.js +12 -3
- package/dist/primitives/text.js +5 -5
- package/dist/primitives/transitions.js +2 -2
- package/dist/primitives/ui-blocks.js +6 -5
- package/dist/primitives/version-map.json +5 -2
- package/dist/primitives.js +20 -13
- package/dist/render-harness/cardAssetAdmission.js +2 -2
- package/dist/render-harness/renderInputAssets.js +2 -2
- package/dist/render-harness.js +874 -124
- package/package.json +49 -15
- package/dist/_members/animate/three/drei.d.ts +0 -6
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +0 -9
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +0 -1
- package/dist/chunk-5OTQ7M43.js +0 -718
- package/dist/chunk-CGHTMZNC.js +0 -6
- package/dist/chunk-KVMVYRXX.js +0 -9527
- package/dist/chunk-WYQX4QIK.js +0 -544
- /package/dist/{chunk-H5LMJKZU.js → chunk-JVDUSOYG.js} +0 -0
|
@@ -21,7 +21,10 @@ import {
|
|
|
21
21
|
TEXT_HI,
|
|
22
22
|
TEXT_MUTED,
|
|
23
23
|
VIOLET
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-W2245F6G.js";
|
|
25
|
+
import {
|
|
26
|
+
FlexLayout
|
|
27
|
+
} from "./chunk-5DJ3IEJR.js";
|
|
25
28
|
|
|
26
29
|
// ../execution/primitives/src/layouts/chat-to-preview-layout/index.tsx
|
|
27
30
|
import { Easing, interpolate, useCurrentFrame, useVideoConfig } from "remotion";
|
|
@@ -289,6 +292,10 @@ function ChatToPreviewLayout({
|
|
|
289
292
|
);
|
|
290
293
|
}
|
|
291
294
|
|
|
295
|
+
// ../execution/primitives/src/layouts/flex-layout/index.tsx
|
|
296
|
+
import React2 from "react";
|
|
297
|
+
var FlexLayout2 = (props) => /* @__PURE__ */ React2.createElement(FlexLayout, { outlineColor: BORDER_SOFT, ...props });
|
|
298
|
+
|
|
292
299
|
// ../execution/primitives/src/layouts/infinite-bento-pan/index.tsx
|
|
293
300
|
import { interpolate as interpolate2, useCurrentFrame as useCurrentFrame2, useVideoConfig as useVideoConfig2 } from "remotion";
|
|
294
301
|
var FONT_FAMILY2 = "inherit";
|
|
@@ -695,7 +702,7 @@ function InfiniteBentoPan({
|
|
|
695
702
|
}
|
|
696
703
|
|
|
697
704
|
// ../execution/primitives/src/layouts/letterbox/index.tsx
|
|
698
|
-
import
|
|
705
|
+
import React3 from "react";
|
|
699
706
|
import { useCurrentFrame as useCurrentFrame3, useVideoConfig as useVideoConfig3, spring, interpolate as interpolate3, AbsoluteFill } from "remotion";
|
|
700
707
|
var Letterbox = ({
|
|
701
708
|
ratio = 2.35,
|
|
@@ -720,9 +727,9 @@ var Letterbox = ({
|
|
|
720
727
|
barHeight = rawBarHeight;
|
|
721
728
|
}
|
|
722
729
|
if (currentRatio >= ratio && rawBarHeight <= 0) {
|
|
723
|
-
return /* @__PURE__ */
|
|
730
|
+
return /* @__PURE__ */ React3.createElement(AbsoluteFill, null, children);
|
|
724
731
|
}
|
|
725
|
-
return /* @__PURE__ */
|
|
732
|
+
return /* @__PURE__ */ React3.createElement(AbsoluteFill, null, children, /* @__PURE__ */ React3.createElement(
|
|
726
733
|
"div",
|
|
727
734
|
{
|
|
728
735
|
style: {
|
|
@@ -734,7 +741,7 @@ var Letterbox = ({
|
|
|
734
741
|
backgroundColor: color
|
|
735
742
|
}
|
|
736
743
|
}
|
|
737
|
-
), /* @__PURE__ */
|
|
744
|
+
), /* @__PURE__ */ React3.createElement(
|
|
738
745
|
"div",
|
|
739
746
|
{
|
|
740
747
|
style: {
|
|
@@ -750,7 +757,7 @@ var Letterbox = ({
|
|
|
750
757
|
};
|
|
751
758
|
|
|
752
759
|
// ../execution/primitives/src/layouts/photo-grid/index.tsx
|
|
753
|
-
import
|
|
760
|
+
import React4 from "react";
|
|
754
761
|
import { useCurrentFrame as useCurrentFrame4, useVideoConfig as useVideoConfig4, spring as spring2, interpolate as interpolate4, AbsoluteFill as AbsoluteFill2, Img } from "remotion";
|
|
755
762
|
var PhotoGrid = ({
|
|
756
763
|
images,
|
|
@@ -761,7 +768,7 @@ var PhotoGrid = ({
|
|
|
761
768
|
const frame = useCurrentFrame4();
|
|
762
769
|
const { fps } = useVideoConfig4();
|
|
763
770
|
const staggerFrames = Math.round(stagger * fps);
|
|
764
|
-
return /* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ React4.createElement(
|
|
765
772
|
AbsoluteFill2,
|
|
766
773
|
{
|
|
767
774
|
style: {
|
|
@@ -781,7 +788,7 @@ var PhotoGrid = ({
|
|
|
781
788
|
const opacity = interpolate4(spr, [0, 1], [0, 1]);
|
|
782
789
|
const scale = interpolate4(spr, [0, 1], [0.85, 1]);
|
|
783
790
|
const translateY = interpolate4(spr, [0, 1], [20, 0]);
|
|
784
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ React4.createElement(
|
|
785
792
|
"div",
|
|
786
793
|
{
|
|
787
794
|
key: i,
|
|
@@ -792,7 +799,7 @@ var PhotoGrid = ({
|
|
|
792
799
|
transform: `scale(${scale}) translateY(${translateY}px)`
|
|
793
800
|
}
|
|
794
801
|
},
|
|
795
|
-
/* @__PURE__ */
|
|
802
|
+
/* @__PURE__ */ React4.createElement(
|
|
796
803
|
Img,
|
|
797
804
|
{
|
|
798
805
|
src,
|
|
@@ -809,7 +816,7 @@ var PhotoGrid = ({
|
|
|
809
816
|
};
|
|
810
817
|
|
|
811
818
|
// ../execution/primitives/src/layouts/picture-in-picture/index.tsx
|
|
812
|
-
import
|
|
819
|
+
import React5 from "react";
|
|
813
820
|
import { useCurrentFrame as useCurrentFrame5, useVideoConfig as useVideoConfig5, spring as spring3, interpolate as interpolate5, AbsoluteFill as AbsoluteFill3 } from "remotion";
|
|
814
821
|
var PictureInPicture = ({
|
|
815
822
|
position = "bottom-right",
|
|
@@ -843,7 +850,7 @@ var PictureInPicture = ({
|
|
|
843
850
|
}
|
|
844
851
|
const originX = position.includes("left") ? "0%" : "100%";
|
|
845
852
|
const originY = position.includes("top") ? "0%" : "100%";
|
|
846
|
-
return /* @__PURE__ */
|
|
853
|
+
return /* @__PURE__ */ React5.createElement(AbsoluteFill3, null, main, /* @__PURE__ */ React5.createElement(
|
|
847
854
|
"div",
|
|
848
855
|
{
|
|
849
856
|
style: {
|
|
@@ -864,7 +871,7 @@ var PictureInPicture = ({
|
|
|
864
871
|
};
|
|
865
872
|
|
|
866
873
|
// ../execution/primitives/src/layouts/split-screen/index.tsx
|
|
867
|
-
import
|
|
874
|
+
import React6 from "react";
|
|
868
875
|
import { useCurrentFrame as useCurrentFrame6, useVideoConfig as useVideoConfig6, spring as spring4, interpolate as interpolate6, AbsoluteFill as AbsoluteFill4 } from "remotion";
|
|
869
876
|
var SplitScreen = ({
|
|
870
877
|
columns = 2,
|
|
@@ -873,9 +880,9 @@ var SplitScreen = ({
|
|
|
873
880
|
}) => {
|
|
874
881
|
const frame = useCurrentFrame6();
|
|
875
882
|
const { fps } = useVideoConfig6();
|
|
876
|
-
const childArray =
|
|
883
|
+
const childArray = React6.Children.toArray(children);
|
|
877
884
|
const staggerFrames = 4;
|
|
878
|
-
return /* @__PURE__ */
|
|
885
|
+
return /* @__PURE__ */ React6.createElement(
|
|
879
886
|
AbsoluteFill4,
|
|
880
887
|
{
|
|
881
888
|
style: {
|
|
@@ -893,7 +900,7 @@ var SplitScreen = ({
|
|
|
893
900
|
});
|
|
894
901
|
const opacity = interpolate6(spr, [0, 1], [0, 1]);
|
|
895
902
|
const scale = interpolate6(spr, [0, 1], [0.92, 1]);
|
|
896
|
-
return /* @__PURE__ */
|
|
903
|
+
return /* @__PURE__ */ React6.createElement(
|
|
897
904
|
"div",
|
|
898
905
|
{
|
|
899
906
|
key: i,
|
|
@@ -1090,18 +1097,130 @@ var config = {
|
|
|
1090
1097
|
preview: { thumbnailFrame: 90, mode: "oneshot", defaultExample: "agent-demo" }
|
|
1091
1098
|
};
|
|
1092
1099
|
|
|
1093
|
-
// ../execution/primitives/src/layouts/
|
|
1100
|
+
// ../execution/primitives/src/layouts/flex-layout/config.ts
|
|
1094
1101
|
import { z as z2 } from "zod";
|
|
1102
|
+
var sizing = {
|
|
1103
|
+
weight: z2.number().min(0).describe("Share of the free space along the main axis. 0 = content-sized (uses basis / min)."),
|
|
1104
|
+
basis: z2.number().min(0).optional().describe("Declared size in px along the main axis. With weight 0 the track takes exactly this and pushes its neighbours."),
|
|
1105
|
+
min: z2.number().min(0).optional().describe("Minimum px along the main axis."),
|
|
1106
|
+
max: z2.number().min(0).optional().describe("Maximum px along the main axis."),
|
|
1107
|
+
shrink: z2.number().min(0).max(1).optional().describe("0 keeps a declared size even when it overflows (default for weight 0); 1 lets it shrink.")
|
|
1108
|
+
};
|
|
1109
|
+
var leaf = z2.object(sizing).strict();
|
|
1110
|
+
var container = z2.object({
|
|
1111
|
+
...sizing,
|
|
1112
|
+
split: z2.array(z2.union([z2.number().min(0), leaf])).min(1).max(8).describe("Cells nested across the other axis, each a weight or a sizing object.")
|
|
1113
|
+
}).strict();
|
|
1114
|
+
var track = z2.union([z2.number().min(0).describe("Leaf weight along the main axis."), container, leaf]);
|
|
1115
|
+
var fit = z2.object({
|
|
1116
|
+
mode: z2.enum(["stretch", "contain", "cover", "position", "scale", "matte"]).describe("stretch fills the cell; contain/cover fit an aspect; position keeps natural size; scale fits an authored size; matte clips instead of resizing."),
|
|
1117
|
+
aspect: z2.number().positive().optional().describe("Content w/h for contain, cover, matte."),
|
|
1118
|
+
size: z2.object({ w: z2.number().positive(), h: z2.number().positive() }).optional().describe("Authored px size for scale."),
|
|
1119
|
+
anchor: z2.object({ x: z2.number().min(0).max(1), y: z2.number().min(0).max(1) }).optional().describe("0..1 position of the content inside the cell. Default centre.")
|
|
1120
|
+
}).strict();
|
|
1095
1121
|
var paramsSchema2 = z2.object({
|
|
1096
|
-
|
|
1122
|
+
direction: z2.enum(["row", "column"]).default("row").describe("Main axis for the top-level tracks."),
|
|
1123
|
+
gap: z2.number().min(0).max(120).default(24).describe("Gap between cells in pixels."),
|
|
1124
|
+
padding: z2.number().min(0).max(200).default(0).describe("Padding inside the frame in pixels."),
|
|
1125
|
+
tracks: z2.array(track).min(1).max(8).default([1, 1]).describe("Main-axis tracks. A number is a weight; an object adds declared sizing and may `split` into nested cells. Children fill the leaves depth-first."),
|
|
1126
|
+
tracksEnd: z2.array(track).min(1).max(8).optional().describe("End state. Weights ease from tracks to tracksEnd across the clip and every cell reflows. Shapes may differ: a cell present on one side only enters from, or exits to, zero."),
|
|
1127
|
+
fits: z2.array(fit).max(64).optional().describe("Per-leaf fit rule in leaf order. Omitted leaves stretch."),
|
|
1128
|
+
outline: z2.boolean().default(false).describe("Draw thin outlines on every cell. Reads as a design element, not debug UI.")
|
|
1129
|
+
}).passthrough();
|
|
1130
|
+
var config2 = {
|
|
1131
|
+
id: "flex-layout",
|
|
1132
|
+
component: FlexLayout2,
|
|
1133
|
+
name: "Flex Layout",
|
|
1134
|
+
category: "layouts",
|
|
1135
|
+
kind: "component",
|
|
1136
|
+
version: "0.1.0",
|
|
1137
|
+
intent: "flex-layout",
|
|
1138
|
+
description: "Weighted flexbox layout that reflows. Tracks are weights, not pixels, so the same layout fits any frame and any content count; a track with weight 0 and a basis is content-sized and pushes its neighbours. Set tracksEnd to animate the weights \u2014 cells that exist on only one side enter or exit \u2014 and everything re-solves every frame. Per-leaf fit rules (stretch, contain, cover, position, scale, matte) decide how content sits in its cell. One solve positions everything, so cells never drift against each other.",
|
|
1139
|
+
useWhen: "Any multi-cell arrangement whose proportions should be data, not hand-nudged pixels \u2014 dashboards, feature grids, side-by-sides, fixed sidebars beside fluid content, and any layout that should visibly reflow as a beat. Prefer over split-screen when columns are unequal, content-sized or animated. Not for a single floating box (use picture-in-picture) or bars (letterbox). Never CSS-scale the whole primitive; size the container instead. Like the other layouts it takes children, so use it inside an authored component (import FlexLayout from @cueframe/animate); as a bare composition overlay it draws only the rig outlines.",
|
|
1140
|
+
pairsWith: ["lower-third", "split-screen", "photo-grid"],
|
|
1141
|
+
avoidWith: ["picture-in-picture", "letterbox"],
|
|
1142
|
+
tier: "standard",
|
|
1143
|
+
useCase: ["full-scene", "explainer"],
|
|
1144
|
+
tags: ["layout", "flex", "flexbox", "grid", "reflow", "weights", "cells", "responsive", "matte", "fit"],
|
|
1145
|
+
mood: ["editorial", "tech-demo", "minimal", "corporate"],
|
|
1146
|
+
paramsSchema: paramsSchema2,
|
|
1147
|
+
propDefaults: { direction: "row", gap: 24, padding: 0, tracks: [1, 1], outline: false },
|
|
1148
|
+
examples: [
|
|
1149
|
+
{ name: "three-up", mood: ["editorial"], params: { tracks: [1, 1, 1], gap: 24 } },
|
|
1150
|
+
{ name: "sidebar", mood: ["tech-demo"], params: { tracks: [1, 3], gap: 16, padding: 32 } },
|
|
1151
|
+
{
|
|
1152
|
+
name: "content-sized",
|
|
1153
|
+
mood: ["corporate"],
|
|
1154
|
+
description: "A fixed 520px rail and a fixed 360px panel; the middle takes whatever is left.",
|
|
1155
|
+
params: {
|
|
1156
|
+
tracks: [{ weight: 0, basis: 520 }, 1, { weight: 0, basis: 360 }],
|
|
1157
|
+
fits: [{ mode: "stretch" }, { mode: "position" }, { mode: "stretch" }],
|
|
1158
|
+
gap: 16,
|
|
1159
|
+
padding: 24,
|
|
1160
|
+
outline: true
|
|
1161
|
+
}
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
name: "reflow",
|
|
1165
|
+
mood: ["minimal"],
|
|
1166
|
+
description: "A cast column, a type cell, and a nested block grid; weights ease so the whole rig reflows.",
|
|
1167
|
+
params: {
|
|
1168
|
+
tracks: [{ weight: 1, split: [1, 1, 1, 1] }, 1, { weight: 3, split: [1, 1] }],
|
|
1169
|
+
tracksEnd: [{ weight: 3, split: [1, 1.6, 1, 1] }, 1, { weight: 1, split: [2, 1] }],
|
|
1170
|
+
fits: [
|
|
1171
|
+
{ mode: "stretch" },
|
|
1172
|
+
{ mode: "stretch" },
|
|
1173
|
+
{ mode: "stretch" },
|
|
1174
|
+
{ mode: "stretch" },
|
|
1175
|
+
{ mode: "position" },
|
|
1176
|
+
{ mode: "stretch" },
|
|
1177
|
+
{ mode: "stretch" }
|
|
1178
|
+
],
|
|
1179
|
+
gap: 16,
|
|
1180
|
+
padding: 24,
|
|
1181
|
+
outline: true
|
|
1182
|
+
}
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
name: "enter-exit",
|
|
1186
|
+
mood: ["tech-demo"],
|
|
1187
|
+
description: "Two cells become three: the third enters from zero and takes its share.",
|
|
1188
|
+
params: { tracks: [1, 1], tracksEnd: [1, 1, 1], gap: 24, padding: 24, outline: true }
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
name: "mattes",
|
|
1192
|
+
mood: ["editorial"],
|
|
1193
|
+
description: "Square and 16:9 mattes over stretched content \u2014 the art is never resized.",
|
|
1194
|
+
params: {
|
|
1195
|
+
tracks: [1, 1, 1],
|
|
1196
|
+
gap: 24,
|
|
1197
|
+
padding: 48,
|
|
1198
|
+
fits: [{ mode: "matte", aspect: 1 }, { mode: "contain", aspect: 16 / 9 }, { mode: "cover", aspect: 1 }]
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
],
|
|
1202
|
+
textParam: null,
|
|
1203
|
+
subtextParam: null,
|
|
1204
|
+
tokens: [],
|
|
1205
|
+
durationInFrames: 90,
|
|
1206
|
+
fps: 30,
|
|
1207
|
+
width: 1920,
|
|
1208
|
+
height: 1080,
|
|
1209
|
+
preview: { thumbnailFrame: 45, mode: "oneshot", defaultExample: "reflow" }
|
|
1210
|
+
};
|
|
1211
|
+
|
|
1212
|
+
// ../execution/primitives/src/layouts/infinite-bento-pan/config.ts
|
|
1213
|
+
import { z as z3 } from "zod";
|
|
1214
|
+
var paramsSchema3 = z3.object({
|
|
1215
|
+
panSpeed: z3.number().min(0.25).max(2).default(1).describe(
|
|
1097
1216
|
'How aggressively the camera pans across the supergrid. 0.5 feels languid; 1 reads as "tour"; >1.5 starts blurring cards.'
|
|
1098
1217
|
),
|
|
1099
|
-
accentColor:
|
|
1218
|
+
accentColor: z3.string().default(VIOLET).describe(
|
|
1100
1219
|
"Highlight color for chart lines, bars, and counter deltas. Dial to brand accent."
|
|
1101
1220
|
),
|
|
1102
|
-
speed:
|
|
1221
|
+
speed: z3.number().min(0.25).max(4).default(1).describe("Global playback speed multiplier (compounds with panSpeed).")
|
|
1103
1222
|
}).passthrough();
|
|
1104
|
-
var
|
|
1223
|
+
var config3 = {
|
|
1105
1224
|
id: "infinite-bento-pan",
|
|
1106
1225
|
component: InfiniteBentoPan,
|
|
1107
1226
|
name: "Infinite Bento Pan",
|
|
@@ -1117,7 +1236,7 @@ var config2 = {
|
|
|
1117
1236
|
useCase: ["background"],
|
|
1118
1237
|
tags: ["layout", "bento", "pan", "infinite", "supergrid", "b-roll", "platform-overview"],
|
|
1119
1238
|
mood: ["tech-demo", "cinematic", "corporate"],
|
|
1120
|
-
paramsSchema:
|
|
1239
|
+
paramsSchema: paramsSchema3,
|
|
1121
1240
|
propDefaults: { panSpeed: 1, accentColor: VIOLET, speed: 1 },
|
|
1122
1241
|
examples: [
|
|
1123
1242
|
{
|
|
@@ -1146,13 +1265,13 @@ var config2 = {
|
|
|
1146
1265
|
};
|
|
1147
1266
|
|
|
1148
1267
|
// ../execution/primitives/src/layouts/letterbox/config.ts
|
|
1149
|
-
import { z as
|
|
1150
|
-
var
|
|
1151
|
-
ratio:
|
|
1152
|
-
color:
|
|
1153
|
-
animated:
|
|
1268
|
+
import { z as z4 } from "zod";
|
|
1269
|
+
var paramsSchema4 = z4.object({
|
|
1270
|
+
ratio: z4.number().min(1).max(3.5).default(2.35).describe("Target aspect ratio for the bars. 2.35 = cinemascope; 1.85 = academy widescreen."),
|
|
1271
|
+
color: z4.string().default("#000000").describe("Bar color."),
|
|
1272
|
+
animated: z4.boolean().default(true).describe("Spring-animate the bars opening.")
|
|
1154
1273
|
}).passthrough();
|
|
1155
|
-
var
|
|
1274
|
+
var config4 = {
|
|
1156
1275
|
id: "letterbox",
|
|
1157
1276
|
component: Letterbox,
|
|
1158
1277
|
name: "Letterbox",
|
|
@@ -1168,7 +1287,7 @@ var config3 = {
|
|
|
1168
1287
|
useCase: ["title-over-footage"],
|
|
1169
1288
|
tags: ["layout", "letterbox", "cinemascope", "bars", "cinematic"],
|
|
1170
1289
|
mood: ["cinematic"],
|
|
1171
|
-
paramsSchema:
|
|
1290
|
+
paramsSchema: paramsSchema4,
|
|
1172
1291
|
propDefaults: { ratio: 2.35, color: "#000000", animated: true },
|
|
1173
1292
|
examples: [
|
|
1174
1293
|
{ name: "cinemascope", mood: ["cinematic"], params: { ratio: 2.35, color: "#000000", animated: true } },
|
|
@@ -1185,14 +1304,14 @@ var config3 = {
|
|
|
1185
1304
|
};
|
|
1186
1305
|
|
|
1187
1306
|
// ../execution/primitives/src/layouts/photo-grid/config.ts
|
|
1188
|
-
import { z as
|
|
1189
|
-
var
|
|
1190
|
-
images:
|
|
1191
|
-
columns:
|
|
1192
|
-
gap:
|
|
1193
|
-
stagger:
|
|
1307
|
+
import { z as z5 } from "zod";
|
|
1308
|
+
var paramsSchema5 = z5.object({
|
|
1309
|
+
images: z5.array(z5.string().url().meta({ cueframeAsset: true })).min(1).describe("Array of image URLs to display."),
|
|
1310
|
+
columns: z5.number().int().min(1).max(6).default(2).describe("Grid columns."),
|
|
1311
|
+
gap: z5.number().min(0).max(40).default(8).describe("Gap between cells in pixels."),
|
|
1312
|
+
stagger: z5.number().min(0).max(2).default(0.15).describe("Seconds between each cell's reveal. 0.1\u20130.25 reads natural.")
|
|
1194
1313
|
}).passthrough();
|
|
1195
|
-
var
|
|
1314
|
+
var config5 = {
|
|
1196
1315
|
id: "photo-grid",
|
|
1197
1316
|
component: PhotoGrid,
|
|
1198
1317
|
name: "Photo Grid",
|
|
@@ -1208,7 +1327,7 @@ var config4 = {
|
|
|
1208
1327
|
useCase: ["full-scene"],
|
|
1209
1328
|
tags: ["layout", "grid", "photos", "gallery", "staggered"],
|
|
1210
1329
|
mood: ["editorial", "cinematic", "soft"],
|
|
1211
|
-
paramsSchema:
|
|
1330
|
+
paramsSchema: paramsSchema5,
|
|
1212
1331
|
propDefaults: { columns: 2, gap: 8, stagger: 0.15 },
|
|
1213
1332
|
examples: [
|
|
1214
1333
|
{
|
|
@@ -1233,14 +1352,14 @@ var config4 = {
|
|
|
1233
1352
|
};
|
|
1234
1353
|
|
|
1235
1354
|
// ../execution/primitives/src/layouts/picture-in-picture/config.ts
|
|
1236
|
-
import { z as
|
|
1237
|
-
var
|
|
1238
|
-
position:
|
|
1239
|
-
size:
|
|
1240
|
-
borderRadius:
|
|
1241
|
-
shadow:
|
|
1355
|
+
import { z as z6 } from "zod";
|
|
1356
|
+
var paramsSchema6 = z6.object({
|
|
1357
|
+
position: z6.enum(["top-left", "top-right", "bottom-left", "bottom-right"]).default("bottom-right").describe("Corner for the PiP overlay."),
|
|
1358
|
+
size: z6.number().min(0.1).max(0.6).default(0.3).describe("PiP size as fraction of video width (0\u20131)."),
|
|
1359
|
+
borderRadius: z6.number().min(0).max(60).default(12).describe("Border radius in pixels."),
|
|
1360
|
+
shadow: z6.string().default("none").describe("CSS box-shadow. Defaults to none; a hairline border provides separation.")
|
|
1242
1361
|
}).passthrough();
|
|
1243
|
-
var
|
|
1362
|
+
var config6 = {
|
|
1244
1363
|
id: "picture-in-picture",
|
|
1245
1364
|
component: PictureInPicture,
|
|
1246
1365
|
name: "Picture-in-Picture",
|
|
@@ -1256,7 +1375,7 @@ var config5 = {
|
|
|
1256
1375
|
useCase: ["title-over-footage"],
|
|
1257
1376
|
tags: ["layout", "pip", "picture-in-picture", "overlay", "corner"],
|
|
1258
1377
|
mood: ["tech-demo", "editorial", "breaking-news"],
|
|
1259
|
-
paramsSchema:
|
|
1378
|
+
paramsSchema: paramsSchema6,
|
|
1260
1379
|
propDefaults: { position: "bottom-right", size: 0.3, borderRadius: 12, shadow: "none" },
|
|
1261
1380
|
examples: [
|
|
1262
1381
|
{ name: "speaker-overlay", mood: ["tech-demo"], params: { position: "bottom-right", size: 0.25, borderRadius: 12, shadow: "none" } },
|
|
@@ -1273,12 +1392,12 @@ var config5 = {
|
|
|
1273
1392
|
};
|
|
1274
1393
|
|
|
1275
1394
|
// ../execution/primitives/src/layouts/split-screen/config.ts
|
|
1276
|
-
import { z as
|
|
1277
|
-
var
|
|
1278
|
-
columns:
|
|
1279
|
-
gap:
|
|
1395
|
+
import { z as z7 } from "zod";
|
|
1396
|
+
var paramsSchema7 = z7.object({
|
|
1397
|
+
columns: z7.number().int().min(1).max(6).default(2).describe("Number of equal columns. 2 is the canonical split."),
|
|
1398
|
+
gap: z7.number().min(0).max(40).default(4).describe("Gap between panels in pixels.")
|
|
1280
1399
|
}).passthrough();
|
|
1281
|
-
var
|
|
1400
|
+
var config7 = {
|
|
1282
1401
|
id: "split-screen",
|
|
1283
1402
|
component: SplitScreen,
|
|
1284
1403
|
name: "Split Screen",
|
|
@@ -1294,7 +1413,7 @@ var config6 = {
|
|
|
1294
1413
|
useCase: ["full-scene"],
|
|
1295
1414
|
tags: ["layout", "split", "columns", "comparison", "multi-feed"],
|
|
1296
1415
|
mood: ["editorial", "corporate", "tech-demo"],
|
|
1297
|
-
paramsSchema:
|
|
1416
|
+
paramsSchema: paramsSchema7,
|
|
1298
1417
|
propDefaults: { columns: 2, gap: 4 },
|
|
1299
1418
|
examples: [
|
|
1300
1419
|
{ name: "two-up", mood: ["editorial"], params: { columns: 2, gap: 4 } },
|
|
@@ -1311,14 +1430,14 @@ var config6 = {
|
|
|
1311
1430
|
};
|
|
1312
1431
|
|
|
1313
1432
|
// ../execution/primitives/src/layouts/staggered-bento-grid/config.ts
|
|
1314
|
-
import { z as
|
|
1315
|
-
var itemSchema =
|
|
1316
|
-
title:
|
|
1317
|
-
body:
|
|
1318
|
-
span:
|
|
1433
|
+
import { z as z8 } from "zod";
|
|
1434
|
+
var itemSchema = z8.object({
|
|
1435
|
+
title: z8.string().min(1).max(80).describe("Bento card title. 1\u20133 words. The visual hero. Auto-fits (shrinks + wraps to 2 lines) to the cell."),
|
|
1436
|
+
body: z8.string().max(160).optional().describe("Optional subtitle beneath the title. Auto-fits (shrinks + wraps to 3 lines) to the cell."),
|
|
1437
|
+
span: z8.union([z8.literal(1), z8.literal(2)]).optional().describe("Column span. 2 doubles the card width \u2014 use for 1\u20132 anchor cards in the grid.")
|
|
1319
1438
|
});
|
|
1320
|
-
var
|
|
1321
|
-
items:
|
|
1439
|
+
var paramsSchema8 = z8.object({
|
|
1440
|
+
items: z8.array(itemSchema).min(1).max(16).default([
|
|
1322
1441
|
{ title: "Fast", body: "Built on Remotion", span: 2 },
|
|
1323
1442
|
{ title: "Animated", body: "Spring physics" },
|
|
1324
1443
|
{ title: "Composable", body: "Drop-in blocks" },
|
|
@@ -1329,18 +1448,18 @@ var paramsSchema7 = z7.object({
|
|
|
1329
1448
|
]).describe(
|
|
1330
1449
|
"Cards to render. Order = stagger order (top-left first). Mix span:1 / span:2 for a varied bento rhythm; 6\u20139 cards reads best."
|
|
1331
1450
|
),
|
|
1332
|
-
staggerDelay:
|
|
1451
|
+
staggerDelay: z8.number().int().min(2).max(20).default(8).describe(
|
|
1333
1452
|
"Frames between each card's entrance. 6\u201310 feels intentional; <4 is chaotic; >12 makes the audience wait."
|
|
1334
1453
|
),
|
|
1335
|
-
columns:
|
|
1454
|
+
columns: z8.number().int().min(2).max(5).default(3).describe(
|
|
1336
1455
|
"Grid column count. 3 is the canonical bento."
|
|
1337
1456
|
),
|
|
1338
|
-
background:
|
|
1339
|
-
cardColor:
|
|
1340
|
-
textColor:
|
|
1341
|
-
speed:
|
|
1457
|
+
background: z8.string().default(BG).describe("Frame background behind the grid."),
|
|
1458
|
+
cardColor: z8.string().default(SURFACE).describe("Bento card fill. Should be one step lighter than background."),
|
|
1459
|
+
textColor: z8.string().default(TEXT_HI).describe("Title and body text color."),
|
|
1460
|
+
speed: z8.number().min(0.25).max(4).default(1).describe("Playback speed multiplier across all card entrances.")
|
|
1342
1461
|
}).passthrough();
|
|
1343
|
-
var
|
|
1462
|
+
var config8 = {
|
|
1344
1463
|
id: "staggered-bento-grid",
|
|
1345
1464
|
component: StaggeredBentoGrid,
|
|
1346
1465
|
name: "Staggered Bento Grid",
|
|
@@ -1356,7 +1475,7 @@ var config7 = {
|
|
|
1356
1475
|
useCase: ["full-scene"],
|
|
1357
1476
|
tags: ["layout", "bento", "grid", "features", "stagger", "spring", "apple", "keynote"],
|
|
1358
1477
|
mood: ["tech-demo", "minimal", "corporate", "editorial"],
|
|
1359
|
-
paramsSchema:
|
|
1478
|
+
paramsSchema: paramsSchema8,
|
|
1360
1479
|
propDefaults: {
|
|
1361
1480
|
items: [
|
|
1362
1481
|
{ title: "Fast", body: "Built on Remotion", span: 2 },
|
|
@@ -1429,11 +1548,13 @@ var catalog = [
|
|
|
1429
1548
|
config4,
|
|
1430
1549
|
config5,
|
|
1431
1550
|
config6,
|
|
1432
|
-
config7
|
|
1551
|
+
config7,
|
|
1552
|
+
config8
|
|
1433
1553
|
];
|
|
1434
1554
|
|
|
1435
1555
|
export {
|
|
1436
1556
|
ChatToPreviewLayout,
|
|
1557
|
+
FlexLayout2 as FlexLayout,
|
|
1437
1558
|
InfiniteBentoPan,
|
|
1438
1559
|
Letterbox,
|
|
1439
1560
|
PhotoGrid,
|
|
@@ -7,6 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
FLOORS
|
|
9
9
|
} from "./chunk-JF4JJAFP.js";
|
|
10
|
+
import {
|
|
11
|
+
captionFontSource,
|
|
12
|
+
effectiveCaptionFamily
|
|
13
|
+
} from "./chunk-TARKDVP6.js";
|
|
10
14
|
|
|
11
15
|
// ../composition/src/projection/brandKit.ts
|
|
12
16
|
var LOGO_DEFAULT_PLACEMENT = "br";
|
|
@@ -35,6 +39,11 @@ function resolveBrandKit(kit, compositionWidth) {
|
|
|
35
39
|
primary: kit.colors.primary ?? kit.colors.accent,
|
|
36
40
|
secondary: kit.colors.secondary ?? kit.colors.accent,
|
|
37
41
|
accent: kit.colors.accent,
|
|
42
|
+
accentStrong: kit.colors.primary ?? kit.colors.accent,
|
|
43
|
+
accentSoft: kit.colors.accentMuted ?? safe.accentMuted,
|
|
44
|
+
success: "#22c55e",
|
|
45
|
+
warning: "#f59e0b",
|
|
46
|
+
danger: "#ef4444",
|
|
38
47
|
background: safe.background,
|
|
39
48
|
text: safe.text,
|
|
40
49
|
textMuted: kit.colors.textMuted ?? clampToFloor(colorMix(safe.text, safe.background, 0.4), safe.background, FLOORS.nonBody),
|
|
@@ -50,7 +59,10 @@ function resolveBrandKit(kit, compositionWidth) {
|
|
|
50
59
|
const fonts = {
|
|
51
60
|
heading: kit.fonts.heading,
|
|
52
61
|
body: kit.fonts.body ?? kit.fonts.heading,
|
|
53
|
-
|
|
62
|
+
// The slot chain lives in `../fonts` because the kit validator judges the profile at the
|
|
63
|
+
// family this line picks. Two copies of it is how a kit came to validate against Inter and
|
|
64
|
+
// project Poppins.
|
|
65
|
+
caption: captionFontSource(kit.fonts).ref
|
|
54
66
|
};
|
|
55
67
|
const spacing = {
|
|
56
68
|
base: kit.spacing?.base ?? compositionWidth * 0.03,
|
|
@@ -70,7 +82,7 @@ function resolveBrandKit(kit, compositionWidth) {
|
|
|
70
82
|
staggerMs: kit.motion?.staggerMs ?? 90,
|
|
71
83
|
exitMs: kit.motion?.exitMs ?? 0
|
|
72
84
|
};
|
|
73
|
-
const captionBaseFamily = kit.
|
|
85
|
+
const captionBaseFamily = effectiveCaptionFamily(kit).family;
|
|
74
86
|
const cp = kit.captionProfile;
|
|
75
87
|
const caption = {
|
|
76
88
|
fg: cp?.emphasisColor ? clampToFloor(cp.emphasisColor, safe.captionScrim, FLOORS.body) : safe.captionFg,
|
|
@@ -83,6 +95,7 @@ function resolveBrandKit(kit, compositionWidth) {
|
|
|
83
95
|
...cp?.entranceStaggerMs != null ? { entranceStaggerMs: cp.entranceStaggerMs } : {},
|
|
84
96
|
...cp?.exitMs != null ? { exitMs: cp.exitMs } : {},
|
|
85
97
|
...captionBaseFamily ? { fontFamily: captionBaseFamily } : {},
|
|
98
|
+
...cp?.fontWeight != null ? { fontWeight: cp.fontWeight } : {},
|
|
86
99
|
...cp?.emphasisFontFamily ? { emphasisFontFamily: cp.emphasisFontFamily } : {},
|
|
87
100
|
...cp?.emphasisScale != null ? { emphasisScale: cp.emphasisScale } : {},
|
|
88
101
|
...cp?.emphasisFontWeight != null ? { emphasisFontWeight: cp.emphasisFontWeight } : {},
|
|
@@ -347,7 +360,7 @@ function unionExclusionsForAspect(aspect) {
|
|
|
347
360
|
}
|
|
348
361
|
|
|
349
362
|
// ../composition/src/projection/composition-floor.ts
|
|
350
|
-
var FLOOR_VERSION = "floor-
|
|
363
|
+
var FLOOR_VERSION = "floor-v7-2026.09.09";
|
|
351
364
|
var FACE_PADDING = { top: 0.6, bottom: 0.3, side: 0.25 };
|
|
352
365
|
var CAPTION_LC_FLOOR = 60;
|
|
353
366
|
var MIN_ZOOM = 0.4;
|
|
@@ -456,6 +469,7 @@ function captionsBehindEligible(input) {
|
|
|
456
469
|
}
|
|
457
470
|
var CENTER = 0.5;
|
|
458
471
|
var MIN_CAPTION_WIDTH = 0.5;
|
|
472
|
+
var CAPTION_BOTTOM_INSET = 0.06;
|
|
459
473
|
var straddlesCentre = (r) => r.x < CENTER && r.x + r.w > CENTER;
|
|
460
474
|
function placeInLegalArea(el, b) {
|
|
461
475
|
const all = [...b.faceKeepOut, ...b.safeZones];
|
|
@@ -496,11 +510,17 @@ function placeInLegalArea(el, b) {
|
|
|
496
510
|
function resolveCaptionRegion(input) {
|
|
497
511
|
const sz = lookupSafeZones(input.platform ?? "", input.aspect);
|
|
498
512
|
const ext = input.captionExtent ?? { w: 0.8, h: 0.15 };
|
|
513
|
+
const bottomInset = { x: 0, y: 1 - CAPTION_BOTTOM_INSET, w: 1, h: CAPTION_BOTTOM_INSET };
|
|
499
514
|
const region = placeInLegalArea(
|
|
500
515
|
{ id: "captions", anchor: input.anchor ?? "lower-third", minH: ext.h, minW: ext.w },
|
|
501
|
-
{ faceKeepOut: [], safeZones: sz.exclusions }
|
|
516
|
+
{ faceKeepOut: [], safeZones: [...sz.exclusions, bottomInset] }
|
|
502
517
|
);
|
|
503
|
-
return region ?? {
|
|
518
|
+
return region ?? {
|
|
519
|
+
x: 0.1,
|
|
520
|
+
y: clamp01(1 - CAPTION_BOTTOM_INSET - ext.h),
|
|
521
|
+
w: ext.w,
|
|
522
|
+
h: ext.h
|
|
523
|
+
};
|
|
504
524
|
}
|
|
505
525
|
function resolveOverlayRegion(input) {
|
|
506
526
|
const sz = lookupSafeZones(input.platform ?? "", input.aspect);
|
|
@@ -664,6 +684,7 @@ export {
|
|
|
664
684
|
COVIEW_MIN_BAND_COVERAGE,
|
|
665
685
|
COVIEW_MAX_BAND_COVERAGE,
|
|
666
686
|
captionsBehindEligible,
|
|
687
|
+
CAPTION_BOTTOM_INSET,
|
|
667
688
|
placeInLegalArea,
|
|
668
689
|
resolveCaptionRegion,
|
|
669
690
|
resolveOverlayRegion,
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ComponentRuntimeError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZVG446DJ.js";
|
|
4
4
|
|
|
5
|
-
// ../execution/component-runtime/src/
|
|
6
|
-
import { parse } from "@babel/parser";
|
|
5
|
+
// ../execution/component-runtime/src/allowedImports.ts
|
|
7
6
|
var COMPONENT_IMPORT_ALLOWLIST = Object.freeze([
|
|
8
7
|
"react",
|
|
9
8
|
"react/jsx-runtime",
|
|
@@ -20,10 +19,12 @@ var COMPONENT_IMPORT_ALLOWLIST = Object.freeze([
|
|
|
20
19
|
"three/webgpu",
|
|
21
20
|
"three/tsl",
|
|
22
21
|
"@react-three/fiber",
|
|
23
|
-
"@react-three/drei",
|
|
24
22
|
"@cueframe/animate",
|
|
25
23
|
"gsap"
|
|
26
24
|
]);
|
|
25
|
+
|
|
26
|
+
// ../execution/component-runtime/src/importPolicy.ts
|
|
27
|
+
import { parse } from "@babel/parser";
|
|
27
28
|
var ALLOWED_IMPORTS = new Set(COMPONENT_IMPORT_ALLOWLIST);
|
|
28
29
|
var DENIED_NONDETERMINISTIC_MEMBERS = /* @__PURE__ */ new Set([
|
|
29
30
|
"Math.random",
|
|
@@ -38,6 +39,14 @@ var DENIED_AMBIENT_CALLS = /* @__PURE__ */ new Set([
|
|
|
38
39
|
"setTimeout",
|
|
39
40
|
"setInterval"
|
|
40
41
|
]);
|
|
42
|
+
var GUARDED_MEDIA_EXPORTS = /* @__PURE__ */ new Set(["Audio", "Html5Audio", "Html5Video", "OffthreadVideo", "Video"]);
|
|
43
|
+
function importedName(specifier) {
|
|
44
|
+
const imported = specifier.imported;
|
|
45
|
+
if (specifier.type !== "ImportSpecifier" || !imported) return null;
|
|
46
|
+
if (imported.type === "Identifier" && typeof imported.name === "string") return imported.name;
|
|
47
|
+
if (imported.type === "StringLiteral" && typeof imported.value === "string") return imported.value;
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
41
50
|
function staticMemberPath(value) {
|
|
42
51
|
if (!value || typeof value !== "object") return null;
|
|
43
52
|
const node = value;
|
|
@@ -58,8 +67,9 @@ function denied(specifier) {
|
|
|
58
67
|
`Component import is not allowed: ${JSON.stringify(specifier)}.`
|
|
59
68
|
);
|
|
60
69
|
}
|
|
61
|
-
function assertComponentImportsAllowed(tsxSource) {
|
|
70
|
+
function assertComponentImportsAllowed(tsxSource, graphicsApi) {
|
|
62
71
|
let root;
|
|
72
|
+
let usesMediaTileScene = false;
|
|
63
73
|
try {
|
|
64
74
|
root = parse(tsxSource, {
|
|
65
75
|
sourceType: "module",
|
|
@@ -83,6 +93,15 @@ function assertComponentImportsAllowed(tsxSource) {
|
|
|
83
93
|
if ((type === "ImportDeclaration" || type === "ExportNamedDeclaration" || type === "ExportAllDeclaration") && node.source && typeof node.source === "object") {
|
|
84
94
|
const specifier = node.source.value;
|
|
85
95
|
if (typeof specifier === "string" && !ALLOWED_IMPORTS.has(specifier)) denied(specifier);
|
|
96
|
+
if ((specifier === "remotion" || specifier === "@remotion/media") && type === "ImportDeclaration") {
|
|
97
|
+
const specifiers = Array.isArray(node.specifiers) ? node.specifiers : [];
|
|
98
|
+
const mediaExport = specifiers.map(importedName).find((name) => name !== null && GUARDED_MEDIA_EXPORTS.has(name));
|
|
99
|
+
if (mediaExport) denied(`${specifier}.${mediaExport}; use @cueframe/animate MediaTileScene`);
|
|
100
|
+
}
|
|
101
|
+
if (specifier === "@cueframe/animate" && type === "ImportDeclaration") {
|
|
102
|
+
const specifiers = Array.isArray(node.specifiers) ? node.specifiers : [];
|
|
103
|
+
usesMediaTileScene ||= specifiers.map(importedName).some((name) => name === "MediaTileScene" || name === "ImageTileScene");
|
|
104
|
+
}
|
|
86
105
|
}
|
|
87
106
|
if (type === "ImportExpression") denied("dynamic import()");
|
|
88
107
|
if (type === "CallExpression") {
|
|
@@ -92,6 +111,18 @@ function assertComponentImportsAllowed(tsxSource) {
|
|
|
92
111
|
if (callee?.type === "Identifier" && typeof callee.name === "string" && DENIED_AMBIENT_CALLS.has(callee.name)) {
|
|
93
112
|
denied(`ambient ${callee.name}`);
|
|
94
113
|
}
|
|
114
|
+
const member = normalizedAmbientPath(node.callee);
|
|
115
|
+
const args = Array.isArray(node.arguments) ? node.arguments : [];
|
|
116
|
+
const tag = args[0]?.type === "StringLiteral" ? args[0].value : void 0;
|
|
117
|
+
if (member === "document.createElement" && (tag === "video" || tag === "audio")) {
|
|
118
|
+
denied(`raw ${tag} element; use @cueframe/animate MediaTileScene`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (type === "JSXOpeningElement") {
|
|
122
|
+
const name = node.name;
|
|
123
|
+
if (name?.type === "JSXIdentifier" && (name.name === "video" || name.name === "audio")) {
|
|
124
|
+
denied(`raw <${String(name.name)}> element; use @cueframe/animate MediaTileScene`);
|
|
125
|
+
}
|
|
95
126
|
}
|
|
96
127
|
if (type === "NewExpression") {
|
|
97
128
|
const callee = node.callee;
|
|
@@ -127,6 +158,12 @@ function assertComponentImportsAllowed(tsxSource) {
|
|
|
127
158
|
}
|
|
128
159
|
};
|
|
129
160
|
visit(root);
|
|
161
|
+
if (usesMediaTileScene && graphicsApi !== void 0 && graphicsApi !== "webgl2") {
|
|
162
|
+
throw new ComponentRuntimeError(
|
|
163
|
+
"component_graphics_mismatch",
|
|
164
|
+
"MediaTileScene requires manifest.graphics.api to be webgl2."
|
|
165
|
+
);
|
|
166
|
+
}
|
|
130
167
|
}
|
|
131
168
|
|
|
132
169
|
export {
|