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