@cueframe/kernel 0.1.1 → 0.1.2
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/testing/conversationStoreContract.d.ts +0 -59
- package/dist/_members/account-model/testing/index.d.ts +0 -5
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
- package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
- package/dist/_members/account-model/validators/conversation.d.ts +0 -96
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
- package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
- package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
- package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
- package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
- package/dist/_members/animate/animations/Create.d.ts +0 -19
- package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
- package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
- package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
- package/dist/_members/animate/animations/Indicate.d.ts +0 -17
- package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
- package/dist/_members/animate/animations/Transform.d.ts +0 -28
- package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
- package/dist/_members/animate/animations/Write.d.ts +0 -20
- package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
- package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
- package/dist/_members/animate/composition/Succession.d.ts +0 -17
- package/dist/_members/animate/easing/rush.d.ts +0 -14
- package/dist/_members/animate/easing/smooth.d.ts +0 -7
- package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
- package/dist/_members/animate/index.d.ts +0 -2
- package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
- package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
- package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
- package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
- package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
- package/dist/_members/animate/three/drei.d.ts +0 -7
- package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
- package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
- package/dist/_members/authoring/agent/errors.d.ts +0 -9
- package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
- package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
- package/dist/_members/authoring/agent.d.ts +0 -34
- package/dist/_members/authoring/capabilities.d.ts +0 -145
- package/dist/_members/authoring/composer/scopes.d.ts +0 -19
- package/dist/_members/authoring/context/brand.d.ts +0 -4
- package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
- package/dist/_members/authoring/context/index.d.ts +0 -1
- package/dist/_members/authoring/context/timeline.d.ts +0 -15
- package/dist/_members/authoring/context/transcript.d.ts +0 -11
- package/dist/_members/authoring/context/types.d.ts +0 -4
- package/dist/_members/authoring/decomposer.d.ts +0 -12
- package/dist/_members/authoring/evaluate.d.ts +0 -26
- package/dist/_members/authoring/evaluator.d.ts +0 -16
- package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
- package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
- package/dist/_members/authoring/motion/shell.d.ts +0 -20
- package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
- package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
- package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
- package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
- package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
- package/dist/_members/authoring/resource-routing.d.ts +0 -121
- package/dist/_members/authoring/resources.d.ts +0 -34
- package/dist/_members/authoring/scope.d.ts +0 -24
- package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
- package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
- package/dist/_members/authoring/tools/index.d.ts +0 -1
- package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
- package/dist/_members/authoring/transpileComponent.d.ts +0 -34
- package/dist/_members/authoring/transpileHelper.d.ts +0 -18
- package/dist/_members/authoring/types.d.ts +0 -149
- package/dist/_members/brand-derivation/constants.d.ts +0 -17
- package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
- package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
- package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
- package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
- package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
- package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
- package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
- package/dist/_members/compose/schema.d.ts +0 -15
- package/dist/_members/compose/tokenResolver.d.ts +0 -11
- package/dist/_members/composition/audio/audioMix.d.ts +0 -34
- package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
- package/dist/_members/composition/audio/musicPack.d.ts +0 -35
- package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/pack.d.ts +0 -43
- package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/palette.d.ts +0 -36
- package/dist/_members/composition/autozoom/index.d.ts +0 -32
- package/dist/_members/composition/brand-kit.d.ts +0 -8
- package/dist/_members/composition/brief/contract.d.ts +0 -90
- package/dist/_members/composition/color-grade.d.ts +0 -11
- package/dist/_members/composition/depth.d.ts +0 -19
- package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
- package/dist/_members/composition/fonts.d.ts +0 -62
- package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
- package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
- package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
- package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
- package/dist/_members/composition/invariants/composition.d.ts +0 -5
- package/dist/_members/composition/invariants/etag.d.ts +0 -7
- package/dist/_members/composition/invariants/ids.d.ts +0 -6
- package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
- package/dist/_members/composition/invariants/markers.d.ts +0 -6
- package/dist/_members/composition/invariants/time.d.ts +0 -8
- package/dist/_members/composition/invariants/tracks.d.ts +0 -48
- package/dist/_members/composition/ops/compositionOps.d.ts +4 -71
- package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
- package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
- package/dist/_members/composition/ops/selectors.d.ts +0 -66
- package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
- package/dist/_members/composition/ops/transcript.d.ts +0 -27
- package/dist/_members/composition/ops/types.d.ts +0 -51
- package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
- package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
- package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
- package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
- package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
- package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
- package/dist/_members/composition/projection/behind-readiness.d.ts +14 -89
- package/dist/_members/composition/projection/brandKit.d.ts +0 -142
- package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
- package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
- package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
- package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
- package/dist/_members/composition/projection/reframe-readiness.d.ts +4 -111
- package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
- package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
- package/dist/_members/composition/reframe/coverage.d.ts +0 -40
- package/dist/_members/composition/reframe/derive.d.ts +0 -21
- package/dist/_members/composition/reframe/index.d.ts +0 -60
- package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
- package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
- package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
- package/dist/_members/composition/timeline/compound.d.ts +0 -31
- package/dist/_members/composition/timeline/intent.d.ts +0 -29
- package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
- package/dist/_members/composition/timeline/link.d.ts +0 -27
- package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
- package/dist/_members/composition/timeline/placement.d.ts +5 -52
- package/dist/_members/composition/timeline/plan.d.ts +5 -53
- package/dist/_members/composition/timeline/resolve.d.ts +0 -36
- package/dist/_members/composition/timeline/trims.d.ts +0 -49
- package/dist/_members/composition/validators/brandKit.d.ts +0 -29
- package/dist/_members/composition/validators/composePlan.d.ts +0 -39
- package/dist/_members/composition/validators/composition.d.ts +30 -513
- package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
- package/dist/_members/composition/validators/render.d.ts +23 -23
- package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
- package/dist/_members/composition-ops/index.d.ts +27 -148
- package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
- package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
- package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
- package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
- package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
- package/dist/_members/convex-api/api.d.ts +0 -3
- package/dist/_members/convex-api/dataModel.d.ts +0 -2
- package/dist/_members/core/index.d.ts +1 -1
- package/dist/_members/core/render/bookends.d.ts +0 -44
- package/dist/_members/core/render/captions.d.ts +0 -42
- package/dist/_members/core/render/compositionRender.d.ts +1 -180
- package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
- package/dist/_members/core/render/emphasis.d.ts +0 -6
- package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
- package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
- package/dist/_members/core/render/eval/index.d.ts +0 -58
- package/dist/_members/core/render/eval/metrics.d.ts +0 -36
- package/dist/_members/core/render/exportSettings.d.ts +4 -12
- package/dist/_members/core/render/index.d.ts +1 -1
- package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
- package/dist/_members/core/render/types.d.ts +1 -184
- package/dist/_members/core/render/variantKeys.d.ts +1 -0
- package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
- package/dist/_members/core/render/vcam/constants.d.ts +0 -93
- package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
- package/dist/_members/core/render/vcam/framing.d.ts +0 -76
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
- package/dist/_members/core/render/vcam/shots.d.ts +0 -40
- package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
- package/dist/_members/core/select/errorCodes.d.ts +0 -25
- package/dist/_members/core/select/index.d.ts +0 -20
- package/dist/_members/core/select/model.d.ts +0 -79
- package/dist/_members/core/select/select.d.ts +0 -49
- package/dist/_members/core/select/stabilize.d.ts +0 -102
- package/dist/_members/core/types.d.ts +0 -1
- package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
- package/dist/_members/director/ai-sdk/context.d.ts +6 -0
- package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
- package/dist/_members/director/ai-sdk/index.d.ts +4 -0
- package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
- package/dist/_members/director/domain/chat.d.ts +357 -0
- package/dist/_members/director/domain/generation.d.ts +1 -0
- package/dist/_members/director/domain/index.d.ts +3 -0
- package/dist/_members/director/domain/ports.d.ts +32 -0
- package/dist/_members/director/index.d.ts +2 -0
- package/dist/_members/director/testing/contract.d.ts +52 -0
- package/dist/_members/director/testing/index.d.ts +1 -0
- package/dist/_members/errors/registry.d.ts +0 -32
- package/dist/_members/foundation/codes/index.d.ts +0 -21
- package/dist/_members/mcp/adapter.d.ts +1 -84
- package/dist/_members/mcp/burnedNames.d.ts +0 -16
- package/dist/_members/mcp/core.d.ts +1 -81
- package/dist/_members/mcp/curation.d.ts +0 -112
- package/dist/_members/mcp/executor.d.ts +0 -49
- package/dist/_members/mcp/format.d.ts +0 -6
- package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
- package/dist/_members/mcp/generated/operations.d.ts +0 -23
- package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
- package/dist/_members/mcp/prompts.d.ts +0 -16
- package/dist/_members/mcp/resources.d.ts +0 -13
- package/dist/_members/mcp/server.d.ts +0 -61
- package/dist/_members/mcp/wait.d.ts +0 -22
- package/dist/_members/mcp/x402Meta.d.ts +0 -44
- package/dist/_members/media-model/generation.d.ts +314 -0
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/media-kind.d.ts +0 -27
- package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
- package/dist/_members/nle-export/fcpxml.d.ts +0 -13
- package/dist/_members/nle-export/index.d.ts +0 -6
- package/dist/_members/nle-export/types.d.ts +0 -26
- package/dist/_members/nle-export/xml/index.d.ts +0 -8
- package/dist/_members/nle-export/xml-utils.d.ts +0 -12
- package/dist/_members/perception/activeSpeaker.d.ts +0 -94
- package/dist/_members/perception/audioQuality.d.ts +0 -64
- package/dist/_members/perception/energyBeat.d.ts +0 -81
- package/dist/_members/perception/identityMatch.d.ts +0 -66
- package/dist/_members/perception/index.d.ts +0 -52
- package/dist/_members/perception/visualQuality.d.ts +0 -73
- package/dist/_members/plane/conformance.d.ts +0 -59
- package/dist/_members/plane/contract.d.ts +0 -29
- package/dist/_members/plane/index.d.ts +0 -15
- package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
- package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
- package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
- package/dist/_members/primitives/captions/Captions.d.ts +0 -24
- package/dist/_members/primitives/captions/index.d.ts +0 -15
- package/dist/_members/primitives/captions/paginate.d.ts +0 -21
- package/dist/_members/primitives/captions/placement.d.ts +0 -30
- package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
- package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
- package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
- package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
- package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
- package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
- package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
- package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
- package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
- package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
- package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
- package/dist/_members/primitives/hero-text/config.d.ts +0 -10
- package/dist/_members/primitives/hero-text/index.d.ts +0 -14
- package/dist/_members/primitives/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
- package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
- package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
- package/dist/_members/primitives/lib/easings.d.ts +0 -27
- package/dist/_members/primitives/lib/palette.d.ts +0 -22
- package/dist/_members/primitives/lib/preview.d.ts +0 -22
- package/dist/_members/primitives/lib/schema.d.ts +0 -36
- package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
- package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
- package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
- package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
- package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
- package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
- package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
- package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
- package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
- package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
- package/dist/_members/primitives/lib/tokens.d.ts +0 -87
- package/dist/_members/primitives/lib/types.d.ts +0 -141
- package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
- package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
- package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
- package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
- package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
- package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
- package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
- package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
- package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
- package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
- package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
- package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
- package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
- package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
- package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
- package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
- package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
- package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
- package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
- package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
- package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
- package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
- package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
- package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
- package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
- package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
- package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
- package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
- package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
- package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
- package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
- package/dist/_members/primitives/workspace.d.ts +0 -29
- package/dist/_members/render-harness/browserOptions.d.ts +11 -0
- package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts +0 -40
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/contractRender.d.ts +0 -16
- package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
- package/dist/_members/render-harness/extractSegments.d.ts +0 -37
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
- package/dist/_members/render-harness/index.d.ts +0 -12
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/localRender.d.ts +1 -110
- package/dist/_members/render-harness/localRender.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts +0 -22
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/mediaServer.d.ts +0 -16
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
- package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
- package/dist/account-model/validators.js +1 -1
- package/dist/account-model.js +1 -1
- package/dist/animate.js +0 -15
- package/dist/authoring/build-tools.js +8 -8
- package/dist/authoring/composer.js +0 -20
- package/dist/authoring/context.js +6 -6
- package/dist/authoring/pipelineTrace.js +1 -1
- package/dist/authoring/prompts.js +1 -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 +14 -80
- package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
- package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
- package/dist/chunk-73DQTUWY.js +131 -0
- package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
- package/dist/chunk-BADZHXLR.js +0 -0
- package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
- package/dist/{chunk-PDYO3DOJ.js → chunk-BZZTVOGG.js} +6 -55
- package/dist/{chunk-AP6ZIVAV.js → chunk-CAJQ7H5A.js} +17 -17
- package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
- package/dist/{chunk-AQBREB5O.js → chunk-DWLNPNC4.js} +1 -4
- package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
- package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
- package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
- package/dist/chunk-FTVZF4GO.js +0 -0
- package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
- package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
- package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
- package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
- package/dist/chunk-IEXAKOEX.js +113 -0
- package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
- package/dist/chunk-LJ5W4ZBU.js +146 -0
- package/dist/chunk-LLUW26BS.js +255 -0
- package/dist/{chunk-JJ6XD7NG.js → chunk-PIURX6IZ.js} +70 -2
- package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
- package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
- package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
- package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
- package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
- package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
- package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
- package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
- package/dist/{chunk-MBCXCJOE.js → chunk-VFMW3JUY.js} +1 -1
- package/dist/{chunk-DK2ODBNT.js → chunk-VHF66LCQ.js} +16 -98
- package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
- package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
- package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
- package/dist/chunk-WZH57M53.js +494 -0
- package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
- package/dist/{chunk-HY3RIEZW.js → chunk-XQ72DZKJ.js} +1 -1
- package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
- package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
- package/dist/chunk-ZPLJ24OV.js +93 -0
- package/dist/cloud-import/multipart.js +1 -1
- package/dist/cloud-import.js +9 -16
- package/dist/compose/renderer.js +18 -18
- package/dist/compose.js +21 -21
- package/dist/composition/audio.js +1 -1
- package/dist/composition/brand-kit.js +0 -5
- package/dist/composition/graphics-plan.js +4 -4
- package/dist/composition/ops.js +5 -5
- package/dist/composition/primitive-catalog.js +1 -1
- package/dist/composition/projection.js +11 -3
- package/dist/composition/reframe/kenBurns.js +0 -4
- package/dist/composition/reframe.js +4 -2
- package/dist/composition/timeline.js +1 -1
- package/dist/composition/validators/graphic-kinds.js +1 -1
- package/dist/composition/validators.js +4 -4
- package/dist/composition-ops.js +16 -135
- package/dist/composition.js +15 -7
- package/dist/context-JLLU3MYD.js +14 -0
- package/dist/core/render.js +9 -7
- package/dist/core/select.js +2 -6
- package/dist/core.js +5 -7
- package/dist/director/ai-sdk.d.ts +1 -0
- package/dist/director/ai-sdk.js +33 -0
- package/dist/director/domain.d.ts +1 -0
- package/dist/director/domain.js +62 -0
- package/dist/director/testing.d.ts +1 -0
- package/dist/director/testing.js +22 -0
- package/dist/director.d.ts +1 -0
- package/dist/director.js +86 -0
- package/dist/errors.js +1 -1
- package/dist/foundation.js +1 -0
- package/dist/mcp/adapter.js +4 -64
- 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/generation.d.ts +1 -0
- package/dist/media-model/generation.js +40 -0
- package/dist/media-model.js +38 -6
- package/dist/nle-export.js +21 -21
- package/dist/plane/contract.js +0 -3
- package/dist/primitives/backgrounds.js +2 -2
- package/dist/primitives/captions.js +0 -5
- package/dist/primitives/effects.js +2 -2
- package/dist/primitives/hero-text.js +2 -2
- package/dist/primitives/layouts.js +2 -2
- package/dist/primitives/lib/index.js +17 -17
- package/dist/primitives/lib/text/fitText.js +1 -1
- package/dist/primitives/lib/tokens.js +1 -1
- package/dist/primitives/lib.js +17 -17
- package/dist/primitives/scenes.js +2 -2
- package/dist/primitives/text.js +2 -2
- package/dist/primitives/ui-blocks.js +4 -4
- package/dist/primitives.js +21 -21
- package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
- package/dist/render-harness.js +24 -41
- package/package.json +37 -21
- package/dist/chunk-6EQXLEP6.js +0 -194
- package/dist/chunk-OCFDUCF4.js +0 -504
- package/dist/chunk-PODIYN2K.js +0 -742
- package/dist/context-YWUZDG5X.js +0 -14
|
@@ -1,54 +1,26 @@
|
|
|
1
1
|
import type { Marker } from '../composition/validators/index.js';
|
|
2
|
-
/** The three grid kinds a clip's source media can carry. */
|
|
3
2
|
export type GridKind = 'beat' | 'word' | 'shot';
|
|
4
|
-
/** The author-fixable failure classes, matching the error-registry codes. */
|
|
5
3
|
export type GridErrorCode = 'grid_unavailable' | 'shot_grid_unavailable' | 'grid_cap_exceeded' | 'grid_target_invalid';
|
|
6
|
-
/**
|
|
7
|
-
* Fail-loud carrier for the materializeGrid guards. `code` is a registered
|
|
8
|
-
* ErrorCode the op route re-throws as an `ApiError` (422) or folds into a
|
|
9
|
-
* `dry_run` verdict. `opIndex` is stamped by the route (it knows the batch
|
|
10
|
-
* position); the pure mapper leaves it undefined.
|
|
11
|
-
*/
|
|
12
4
|
export declare class GridError extends Error {
|
|
13
5
|
readonly code: GridErrorCode;
|
|
14
6
|
opIndex?: number | undefined;
|
|
15
7
|
constructor(code: GridErrorCode, message: string, opIndex?: number | undefined);
|
|
16
8
|
}
|
|
17
|
-
/** Default marker cap (soft — a caller may raise it up to the hard ceiling). */
|
|
18
9
|
export declare const GRID_DEFAULT_MAX_MARKERS = 500;
|
|
19
|
-
/** Hard ceiling on markers materialized from one grid (never exceeded). */
|
|
20
10
|
export declare const GRID_HARD_MAX_MARKERS = 2000;
|
|
21
|
-
/** The subset of a media clip's placement the projection reads. */
|
|
22
11
|
export interface GridPlacement {
|
|
23
|
-
/** Timeline seconds where the clip starts. */
|
|
24
12
|
startTime: number;
|
|
25
|
-
/** Timeline seconds the clip occupies. */
|
|
26
13
|
duration: number;
|
|
27
|
-
/** Source-seconds trim window; absent = whole source from 0. */
|
|
28
14
|
trim?: {
|
|
29
15
|
start: number;
|
|
30
16
|
end: number;
|
|
31
17
|
};
|
|
32
|
-
/** Source→timeline speed; absent = 1. */
|
|
33
18
|
playbackRate?: number;
|
|
34
|
-
/** Source-seconds spans excluded (sorted, non-overlapping). */
|
|
35
19
|
excludedRanges?: Array<{
|
|
36
20
|
start: number;
|
|
37
21
|
end: number;
|
|
38
22
|
}>;
|
|
39
23
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Project media-time grid points (ms, in the source's own time) onto the
|
|
42
|
-
* timeline through `placement`, minting one marker per VISIBLE point. Points
|
|
43
|
-
* outside the clip's visible window (before/after the trim, or inside an
|
|
44
|
-
* excluded range) are SKIPPED. Markers are named deterministically
|
|
45
|
-
* (`<grid>-<n>`, id `grid-<grid>-<clipId>-<n>`, `n` = the running visible index)
|
|
46
|
-
* so a re-run reproduces the exact set; `metadata.sourceClipId` records the
|
|
47
|
-
* origin clip so the route can replace a prior materialization idempotently.
|
|
48
|
-
*
|
|
49
|
-
* Fails loud (`grid_cap_exceeded`) when the visible count exceeds `maxMarkers`
|
|
50
|
-
* (default 500) — no silent truncation.
|
|
51
|
-
*/
|
|
52
24
|
export declare function materializeGridMarkers(placement: GridPlacement, gridPointsMs: readonly number[], opts: {
|
|
53
25
|
grid: GridKind;
|
|
54
26
|
clipId: string;
|
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wrapWithOpRecorder — THE mutation→op mapping, extracted from
|
|
3
|
-
* recordingStore so it has exactly one home and two consumers:
|
|
4
|
-
*
|
|
5
|
-
* - `createRecordingStore` (compose bench/eval): wraps the headless store.
|
|
6
|
-
* - the EDITOR's compositionOps delegate (apps/studio/src/store): wraps the
|
|
7
|
-
* zustand-backed op surface, so every user gesture records the same wire
|
|
8
|
-
* op an agent would send — the P0.5 "editor writes are ops" seam.
|
|
9
|
-
*
|
|
10
|
-
* The wrapper intercepts every mutation of the shared op surface: records
|
|
11
|
-
* the corresponding {@link CompositionOp} (with the BEFORE composition, for
|
|
12
|
-
* invertOp), then applies to `base` (optimistic local fold, unchanged UX). Replay contracts (id pinning, track
|
|
13
|
-
* pre-emit, the family-stamp on addClip, the playbackRate refusal) are the
|
|
14
|
-
* SAME rules recordingStore always enforced — see the per-method comments.
|
|
15
|
-
*/
|
|
16
1
|
import type { Composition, TimelineClip, Marker, Track, Format, ReframeSegment, CaptionSegment, CaptionStyle, PerClipEffect } from '../composition/validators/index.js';
|
|
17
2
|
import type { CompositionOp } from './index.js';
|
|
18
|
-
/** The mutation surface the recorder knows how to map (the shared op set). No
|
|
19
|
-
* count here on purpose: it went stale ("31") the moment ops were consolidated,
|
|
20
|
-
* and the authoritative pairing is enforced by GUARD 1
|
|
21
|
-
* (`opFactoryVocabulary.test.ts`), not by a number in a comment. */
|
|
22
3
|
export interface RecordableOps {
|
|
23
4
|
addClip(clip: TimelineClip, options?: {
|
|
24
5
|
newTrack?: boolean;
|
|
@@ -55,23 +36,8 @@ export interface RecordableOps {
|
|
|
55
36
|
removeExcludedRange(clipId: string, rangeIdx: number): void;
|
|
56
37
|
}
|
|
57
38
|
export interface OpRecorderOpts {
|
|
58
|
-
/**
|
|
59
|
-
* Called for every recorded op with the composition AS OF BEFORE the op
|
|
60
|
-
* applied — consumers that need inverses compute `invertOp(before, op)`
|
|
61
|
-
* without replaying history. Ops are recorded BEFORE the base mutation
|
|
62
|
-
* runs (every mapping derives from args + before-state only), so `before`
|
|
63
|
-
* is simply the current composition at call time.
|
|
64
|
-
*/
|
|
65
39
|
record: (op: CompositionOp, before: Composition) => void;
|
|
66
|
-
/** Current composition — pre-emit checks + the `before` snapshot read it. */
|
|
67
40
|
getComposition: () => Composition;
|
|
68
|
-
/**
|
|
69
|
-
* A mutation the op vocabulary cannot serialize (today: setClipProperties
|
|
70
|
-
* with playbackRate — a cross-field ripple). When provided, the mutation
|
|
71
|
-
* APPLIES locally and this fires instead of an op (the editor journals a
|
|
72
|
-
* guarded snapshot barrier). When absent, the wrapper THROWS — the compose
|
|
73
|
-
* bench's op-log must stay byte-faithfully replayable.
|
|
74
|
-
*/
|
|
75
41
|
onUnjournalable?: (reason: string) => void;
|
|
76
42
|
}
|
|
77
43
|
export declare function wrapWithOpRecorder<T extends RecordableOps>(base: T, opts: OpRecorderOpts): T;
|
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createRecordingStore — the op-recording seam over the HEADLESS store.
|
|
3
|
-
*
|
|
4
|
-
* The mutation→op mapping itself lives in {@link wrapWithOpRecorder}
|
|
5
|
-
* (opRecorder.ts) — ONE mapping shared with the editor's compositionOps
|
|
6
|
-
* delegate (P0.5: editor writes are ops). This module only binds it to
|
|
7
|
-
* `createHeadlessStore` and exposes the accumulated log.
|
|
8
|
-
*
|
|
9
|
-
* The recorded op-log replays byte-faithfully:
|
|
10
|
-
* `ops.reduce(applyOp, seed)` reproduces `getState().composition` exactly —
|
|
11
|
-
* the wrapper PINS ids the store would otherwise mint (addClip newTrackId,
|
|
12
|
-
* overlay/audio track pre-emit, addTrack id). Selection ops pass through
|
|
13
|
-
* unrecorded (UI state, not in the op vocabulary). `duplicateClip` replays
|
|
14
|
-
* render-equivalent, not byte-identical (non-pinned minted id).
|
|
15
|
-
*/
|
|
16
1
|
import type { Composition } from '../composition/validators/index.js';
|
|
17
2
|
import { type HeadlessStore, type CompositionOpsState } from '../composition/ops/index.js';
|
|
18
3
|
import type { CompositionOp } from './index.js';
|
|
19
4
|
export interface RecordingStore extends HeadlessStore {
|
|
20
|
-
/** The faithful op-log of every mutation, in order. */
|
|
21
5
|
getOps(): CompositionOp[];
|
|
22
6
|
}
|
|
23
7
|
export declare function createRecordingStore(initial?: Composition | CompositionOpsState): RecordingStore;
|
|
@@ -1,65 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `replaceRegion` — the NON-RIPPLING cut/overlay lowering (selector-abstraction
|
|
3
|
-
* spec §6.2). The genuinely-new timeline primitive the switch instance needs:
|
|
4
|
-
* neither existing authoring mode fits a same-track temporal cut —
|
|
5
|
-
* - `add_clip mode:"layer"` makes a FRESH track (b-roll over A-roll), and
|
|
6
|
-
* - `add_clip mode:"ripple-insert"` SHIFTS downstream content.
|
|
7
|
-
* A multicam switch is an OVERWRITE: A→B→C occupy the SAME region of the SAME
|
|
8
|
-
* track, back to back, with nothing rippling.
|
|
9
|
-
*
|
|
10
|
-
* PLACEMENT: this lives in `@cueframe/composition-ops` (NOT framework-bound; it
|
|
11
|
-
* already depends on `@cueframe/composition` + `@cueframe/core`). It does NOT
|
|
12
|
-
* import the Selector core — it consumes a plain `CutSchedule` (the resolver's
|
|
13
|
-
* lowered advisory), so the source-only concepts (`programAudioSourceId`, cut vs
|
|
14
|
-
* overlay, source-window placement) live HERE, never in the core.
|
|
15
|
-
*
|
|
16
|
-
* Two kinds (spec §6.2):
|
|
17
|
-
* - `kind:"cut"` (synced angles): video follows the chosen source; AUDIO FOLLOWS
|
|
18
|
-
* the video UNLESS `programAudioSourceId` is set, in which case audio is pinned
|
|
19
|
-
* to one continuous bed on a separate audio track while video cuts (topology-i).
|
|
20
|
-
* - `kind:"overlay"` (b-roll cutaway): video-over on a NEW overlay/video track,
|
|
21
|
-
* primary audio continues (this defers to the existing layer semantics; the
|
|
22
|
-
* presence-gate authored its windows). The switch instance authors `cut`.
|
|
23
|
-
*
|
|
24
|
-
* Validates fail-loud: the authored segments tile the region without overlap/gap
|
|
25
|
-
* (the `Gap.strict()` lesson) and every source window is in-media; the result
|
|
26
|
-
* round-trips `Composition.parse` + `validateComposition`. Pure + deterministic.
|
|
27
|
-
*/
|
|
28
1
|
import { type Composition } from '../composition/validators/index.js';
|
|
29
|
-
/** One authored cut span (the resolver's lowered advisory, source-only shape). */
|
|
30
2
|
export interface CutSpan {
|
|
31
3
|
startSec: number;
|
|
32
4
|
endSec: number;
|
|
33
|
-
/** The chosen angle's stable id (legible, round-trips as the clip's mediaId's
|
|
34
|
-
* companion — used only for diagnostics here). */
|
|
35
5
|
candidateId: string;
|
|
36
|
-
/** The branded mediaItems id of the chosen angle's source. */
|
|
37
6
|
mediaId: string;
|
|
38
|
-
/** The chosen angle's SOURCE window (timebase already resolved by the resolver). */
|
|
39
7
|
sourceInSec: number;
|
|
40
8
|
sourceOutSec: number;
|
|
41
9
|
}
|
|
42
10
|
export interface ReplaceRegionInput {
|
|
43
|
-
/** The base composition to author onto. */
|
|
44
11
|
composition: Composition;
|
|
45
|
-
/** The video cut schedule (tiles [regionStart, regionEnd), back-to-back). */
|
|
46
12
|
cutSchedule: CutSpan[];
|
|
47
|
-
/**
|
|
48
|
-
* GROUP-SCOPED program audio (spec A1): when set, the video cuts A→B→C but the
|
|
49
|
-
* audio is PINNED to this one source for the whole region on a separate audio
|
|
50
|
-
* track (topology-i — one continuous mic over multicam). When omitted, audio
|
|
51
|
-
* FOLLOWS the video (the `kind:"cut"` literal meaning) — each cut clip carries
|
|
52
|
-
* its own audio.
|
|
53
|
-
*/
|
|
54
13
|
programAudioSourceId?: string;
|
|
55
|
-
/**
|
|
56
|
-
* Source duration per mediaId (seconds) — for the audio-bed clip's window + the
|
|
57
|
-
* in-media guard on the pinned audio. The resolver supplies it.
|
|
58
|
-
*/
|
|
59
14
|
durationByMediaId: Record<string, number>;
|
|
60
|
-
/** Track name for the authored video cut track. */
|
|
61
15
|
trackName?: string;
|
|
62
16
|
}
|
|
63
|
-
/** Author a non-rippling cut schedule (+ optional pinned audio bed) onto a fresh
|
|
64
|
-
* video track of the composition. Returns the new composition (pure). */
|
|
65
17
|
export declare function replaceRegion(input: ReplaceRegionInput): Composition;
|
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test fixtures — minimal valid `TimelineClip`s per family, for the
|
|
3
|
-
* `clip.add` kind-dispatch tests. Each builds the smallest clip that
|
|
4
|
-
* `TimelineClip.strict()` accepts for its source kind.
|
|
5
|
-
*
|
|
6
|
-
* `kind` (the clip's family hint) is set ONLY where the source is ambiguous
|
|
7
|
-
* (a `media` source can land on video / audio / image): `mediaClip` takes an
|
|
8
|
-
* explicit family. Overlay-source clips need no `kind` — the family derives
|
|
9
|
-
* from `source.kind` (overlay → overlay).
|
|
10
|
-
*/
|
|
11
1
|
import type { TimelineClip } from '../composition/validators/index.js';
|
|
12
|
-
/** A media-source clip with an EXPLICIT family `kind` (video|audio|image). */
|
|
13
2
|
export declare const mediaClip: (id: string, kind?: "video" | "audio" | "image") => TimelineClip;
|
|
14
|
-
/** An overlay-source clip — family derives from `source.kind` (no clip.kind). */
|
|
15
3
|
export declare const overlayClip: (id: string) => TimelineClip;
|
|
16
|
-
/** An audio clip: a media source carried on the `audio` family. */
|
|
17
4
|
export declare const audioClip: (id: string) => TimelineClip;
|
|
18
|
-
/** A minimal valid Marker (point marker on the timeline). */
|
|
19
5
|
export declare const marker: (id: string, startTime?: number) => import("../composition/validators/index.js").Marker;
|
|
@@ -1,5 +1,2 @@
|
|
|
1
1
|
import type { api as GeneratedApi } from "./api.generated.js";
|
|
2
|
-
/** The client-facing function-reference proxy. Runtime-identical to the
|
|
3
|
-
* backend's generated `api` (which IS `anyApi`); typed by the vendored
|
|
4
|
-
* declarations with the internal.* surface stripped. */
|
|
5
2
|
export declare const api: typeof GeneratedApi;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type { GenericId } from "convex/values";
|
|
2
2
|
import type { SystemTableNames } from "convex/server";
|
|
3
|
-
/** Table NAMES only — the vendored surface deliberately omits document
|
|
4
|
-
* shapes (Doc/DataModel). Public consumers use exclusively `Id<...>`. */
|
|
5
3
|
export type TableNames = "agentMessages" | "agentThreads" | "apiAuditLog" | "billingPlanState" | "brandKits" | "briefs" | "checkpoints" | "clips" | "clipSuggestionRuns" | "componentVersions" | "composeJobs" | "compositionEvents" | "compositionRuns" | "compositions" | "compositionVersions" | "contextFiles" | "conversations" | "corrections" | "critics" | "dashboardInsights" | "directorProfiles" | "directorWorkflows" | "enrichmentCandidates" | "exports" | "idempotencyKeys" | "installedComponents" | "jobs" | "markers" | "mediaItems" | "mediaUnderstanding" | "overlays" | "pricingPolicy" | "processingEvents" | "projects" | "providerStates" | "renderJobs" | "resourceQueryCache" | "resourceRateBuckets" | "restorePoints" | "runs" | "searchQueries" | "sessions" | "sessionTokens" | "settings" | "socialAccounts" | "socialInsights" | "socialMediaItems" | "templateEmbeddings" | "templates" | "timelineClips" | "tracks" | "transcripts" | "uploadTokens" | "usageEvents" | "userSettings" | "videoChunkEmbeddings" | "webhookDeliveries" | "webhookProjectUpdateDebounce" | "webhooks" | "x402Payments";
|
|
6
4
|
export type Id<TableName extends TableNames | SystemTableNames> = GenericId<TableName>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
-
export { buildEmphasisSet, isEmphasized, extractCaptionWordsFromDoc, DEFAULT_FPS, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_RENDER_SETTINGS, FORMAT_PRESETS, RESOLUTION_PRESETS, bppToCrf,
|
|
2
|
+
export { buildEmphasisSet, isEmphasized, extractCaptionWordsFromDoc, DEFAULT_FPS, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_RENDER_SETTINGS, FORMAT_PRESETS, RESOLUTION_PRESETS, bppToCrf, ensureEven, } from './render/index.js';
|
|
3
3
|
export type { RenderInput, CompositionClip, CompositionOverlay, CompositionAudioTrack, CaptionWord, CaptionStyle, EmphasisWord, DocNode, ExportFormat, ExportQuality, ExportResolution, FormatPreset, RenderSettings, } from './render/index.js';
|
|
@@ -1,60 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brand intro/outro BOOKEND timeline math — pure, fps-driven, never throws.
|
|
3
|
-
*
|
|
4
|
-
* Phase 2 of the brand-consistent demo pipeline: when the resolved brand kit
|
|
5
|
-
* carries an `intro`/`outro` bumper, the render prepends the intro and appends
|
|
6
|
-
* the outro to the body composition. This module owns the ONE timeline
|
|
7
|
-
* calculation both sides of the render share:
|
|
8
|
-
*
|
|
9
|
-
* - `compositionToRenderInput` (this package) reads it FORWARD — body duration
|
|
10
|
-
* in, extended total out — to size the Remotion composition's
|
|
11
|
-
* `durationInFrames`.
|
|
12
|
-
* - `MainComposition` (cueframe renderer) reads `bookendFrames` to place the
|
|
13
|
-
* intro at frame 0, shift the body forward by the intro, and append the
|
|
14
|
-
* outro — so the math can't diverge between "how long is the video" and
|
|
15
|
-
* "where does each piece sit."
|
|
16
|
-
*
|
|
17
|
-
* SOFT by construction (mirrors the brand cascade's "never crash the render"
|
|
18
|
-
* rule): a missing/odd bumper, a video bumper with no source, or a non-positive
|
|
19
|
-
* fps yields 0 reserved frames — no bookend, never a throw, never negative.
|
|
20
|
-
* Fail-loud belongs at BrandKit PUT-time validation, not render-time placement.
|
|
21
|
-
*/
|
|
22
1
|
import type { ResolvedBrandKit } from "../../composition/projection/index.js";
|
|
23
|
-
/** Card bumper default length when the kit didn't set one (mirrors the resolver). */
|
|
24
2
|
export declare const CARD_BOOKEND_DEFAULT_MS = 1500;
|
|
25
|
-
/**
|
|
26
|
-
* Video bumper fallback length when the kit set no `durationMs`. The resolver
|
|
27
|
-
* forces no default for `kind:'video'` ("clip length governs"), but the pure
|
|
28
|
-
* timeline math can't probe the clip's intrinsic length, so the renderer
|
|
29
|
-
* reserves this deterministic window. A kit that sets `durationMs` overrides it.
|
|
30
|
-
*/
|
|
31
3
|
export declare const VIDEO_BOOKEND_DEFAULT_MS = 3000;
|
|
32
4
|
type Bumper = NonNullable<ResolvedBrandKit["intro"]>;
|
|
33
|
-
/**
|
|
34
|
-
* Frames a single intro/outro bumper reserves on the timeline, or 0 when it is
|
|
35
|
-
* absent/odd (soft). `card` always reserves (defaults to 1.5s); `video` reserves
|
|
36
|
-
* only with a usable `src` (else there is nothing to play).
|
|
37
|
-
*/
|
|
38
5
|
export declare function bookendFrames(bumper: ResolvedBrandKit["intro"] | undefined, fps: number): number;
|
|
39
6
|
export interface BookendTimeline {
|
|
40
|
-
/** Frames the intro reserves at the head (0 = no intro). */
|
|
41
7
|
introFrames: number;
|
|
42
|
-
/** Frames the outro reserves at the tail (0 = no outro). */
|
|
43
8
|
outroFrames: number;
|
|
44
|
-
/** First body frame on the extended timeline (= introFrames). */
|
|
45
9
|
bodyStartFrames: number;
|
|
46
|
-
/** Body length in frames — unchanged from the un-bookended timeline. */
|
|
47
10
|
bodyFrames: number;
|
|
48
|
-
/** First outro frame (= introFrames + bodyFrames). */
|
|
49
11
|
outroStartFrames: number;
|
|
50
|
-
/** Extended composition total: intro + body + outro. */
|
|
51
12
|
totalFrames: number;
|
|
52
13
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Forward timeline math: given the resolved kit's bumpers and the body's frame
|
|
55
|
-
* length, place the bookends and compute the extended total. fps-driven; a
|
|
56
|
-
* non-positive body folds to 0 (the total is then just the bookends).
|
|
57
|
-
*/
|
|
58
14
|
export declare function resolveBookendTimeline(brandKit: {
|
|
59
15
|
intro?: ResolvedBrandKit["intro"];
|
|
60
16
|
outro?: ResolvedBrandKit["outro"];
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { CaptionWord } from './types.js';
|
|
2
2
|
import type { EmphasisWord } from './emphasis.js';
|
|
3
|
-
/**
|
|
4
|
-
* Word-timed transcript utterance — minimal shape covering Deepgram /
|
|
5
|
-
* AssemblyAI / legacy-Whisper outputs. Times are seconds (provider
|
|
6
|
-
* convention); the slicer rebases to milliseconds for the Captions
|
|
7
|
-
* primitive.
|
|
8
|
-
*/
|
|
9
3
|
export interface TranscriptUtterance {
|
|
10
4
|
speaker?: string | null;
|
|
11
5
|
text?: string;
|
|
@@ -18,48 +12,12 @@ export interface TranscriptUtterance {
|
|
|
18
12
|
confidence?: number;
|
|
19
13
|
}>;
|
|
20
14
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Slice a transcript's word stream to a clip window.
|
|
23
|
-
*
|
|
24
|
-
* Source: `utterances[].words[]` with second-precision `start` / `end`.
|
|
25
|
-
* Output: `CaptionWord[]` with millisecond timings rebased so the
|
|
26
|
-
* first word's `startMs` is 0 (relative to the clip, not the source).
|
|
27
|
-
* Words wholly outside `[fromSec, toSec)` are dropped; words that
|
|
28
|
-
* straddle either edge are clamped to the boundary.
|
|
29
|
-
*
|
|
30
|
-
* Pure function — no I/O, no DB. Caller fetches the transcript blob
|
|
31
|
-
* (typically from R2) and feeds the parsed `utterances` here.
|
|
32
|
-
*/
|
|
33
15
|
export declare function sliceTranscriptWords(utterances: TranscriptUtterance[], fromSec: number, toSec: number): CaptionWord[];
|
|
34
|
-
/** ProseMirror/TipTap document node — generic to avoid @tiptap/core dependency. */
|
|
35
16
|
export interface DocNode {
|
|
36
17
|
type?: string;
|
|
37
18
|
text?: string;
|
|
38
19
|
attrs?: Record<string, unknown>;
|
|
39
20
|
content?: DocNode[];
|
|
40
21
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Walk a TipTap doc JSONContent and extract non-deleted timedWord nodes
|
|
43
|
-
* as CaptionWord[].
|
|
44
|
-
*
|
|
45
|
-
* In v2 the wire-shape composition encodes cuts physically (clip
|
|
46
|
-
* startTime/duration), so caption timings are taken straight off the
|
|
47
|
-
* timedWord attrs without any deletion-range shift.
|
|
48
|
-
*
|
|
49
|
-
* This makes the ProseMirror doc the single source of truth for caption text,
|
|
50
|
-
* instead of re-reading raw Whisper transcripts.
|
|
51
|
-
*/
|
|
52
22
|
export declare function extractCaptionWordsFromDoc(doc: DocNode, emphasisWords: EmphasisWord[]): CaptionWord[];
|
|
53
|
-
/**
|
|
54
|
-
* Group a flat word stream into sentence-bounded segments — start a new segment
|
|
55
|
-
* after any word that ends a sentence (`isSentenceEnd`). Caption words carry
|
|
56
|
-
* punctuation from Deepgram's `punctuated_word`, so the trailing-character test
|
|
57
|
-
* is reliable; abbreviations and initialisms are guarded so they don't
|
|
58
|
-
* false-split mid-sentence.
|
|
59
|
-
*
|
|
60
|
-
* This is how a raw transcript slice becomes `composition.captions.segments`:
|
|
61
|
-
* the renderer treats each segment as a hard caption-page boundary, so
|
|
62
|
-
* sentence-bounded segments make captions cut at sentence ends. A stream with
|
|
63
|
-
* no terminal punctuation yields a single segment; an empty stream yields none.
|
|
64
|
-
*/
|
|
65
23
|
export declare function splitIntoSentences(words: CaptionWord[]): CaptionWord[][];
|
|
@@ -1,88 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wire-shape `Composition` → `RenderInput` translator.
|
|
3
|
-
*
|
|
4
|
-
* `Composition` is the canonical multi-track wire shape from
|
|
5
|
-
* `@cueframe/composition`. It crosses the API boundary
|
|
6
|
-
* (PUT /v1/projects/:id/composition), gets snapshotted onto
|
|
7
|
-
* `renderJobs.composition`, and is what the Remotion worker reads
|
|
8
|
-
* before kicking off a render.
|
|
9
|
-
*
|
|
10
|
-
* This module is the single bridge from that wire shape to the
|
|
11
|
-
* frame-based `RenderInput` Remotion consumes:
|
|
12
|
-
*
|
|
13
|
-
* {format, tracks[]: [{kind, contents[]: TimelineClip[]}]}
|
|
14
|
-
* ↓
|
|
15
|
-
* compositionToRenderInput(composition, srcUrls)
|
|
16
|
-
* ↓
|
|
17
|
-
* { clips, overlays, audioTracks, effects, width, height, fps,
|
|
18
|
-
* durationInFrames }
|
|
19
|
-
*
|
|
20
|
-
* Track-kind handling:
|
|
21
|
-
* - `video` → `CompositionClip[]`. Each clip's wire startTime/duration
|
|
22
|
-
* map to timelineStartFrames/durationInFrames; `source.trim`'s
|
|
23
|
-
* source-relative seconds map to sourceInFrames/sourceOutFrames.
|
|
24
|
-
* Clips on multiple video tracks layer in track order (z-order
|
|
25
|
-
* follows the wire array).
|
|
26
|
-
* - `audio` → `CompositionAudioTrack[]`. `source.volumeDb` (if set)
|
|
27
|
-
* converts to linear gain via `10^(dB/20)`; `source.fadeInMs` /
|
|
28
|
-
* `source.fadeOutMs` convert to frames.
|
|
29
|
-
* - `image` → `CompositionClip[]` with `mediaType: 'image'`. Stills
|
|
30
|
-
* have no source timeline (sourceIn/Out are zero); `source.kenBurns`
|
|
31
|
-
* flows through as a convenience that the renderer's <StillCrop> lowers
|
|
32
|
-
* to a `reframe` (kenBurnsToReframe) and runs through the UNIFIED crop
|
|
33
|
-
* renderer, so a still gets the same per-frame point-zoom video does.
|
|
34
|
-
* Sub-frame durations are dropped (would crash Remotion's <Sequence>).
|
|
35
|
-
* - `overlay` → `CompositionOverlay[]`. Wire `source.primitiveId`
|
|
36
|
-
* becomes `template`; `source.params` flow through to the renderer.
|
|
37
|
-
* - `effect` → `CompositionEffect[]` with `target.kind: 'global'`,
|
|
38
|
-
* scoped to the effect clip's wire start/duration.
|
|
39
|
-
*
|
|
40
|
-
* `srcUrls` is a `mediaId → presigned URL` map. The caller (Temporal
|
|
41
|
-
* activity) pre-signs every unique mediaId before calling this. A
|
|
42
|
-
* referenced mediaId missing from `srcUrls` throws — silent fallbacks
|
|
43
|
-
* are forbidden (the v0 path's silent-fallback bug class).
|
|
44
|
-
*/
|
|
45
1
|
import type { Composition, Format } from "../../composition/validators/index.js";
|
|
46
2
|
import type { RenderInput } from "./types.js";
|
|
47
3
|
import type { TrajectoryData } from "../../composition/reframe/trajectory.js";
|
|
48
|
-
/**
|
|
49
|
-
* Resolve `Format` (`aspectRatio`, optional `fps` + `resolution`) to
|
|
50
|
-
* concrete pixel dimensions. Mirrors the public-composition path's
|
|
51
|
-
* `publicFormatDimensions` so a Composition with `format: { aspectRatio:
|
|
52
|
-
* "9:16", fps: 30, resolution: "fhd" }` lands at the same 1080×1920
|
|
53
|
-
* regardless of which translator the worker traversed.
|
|
54
|
-
*/
|
|
55
4
|
export declare function compositionFormatDimensions(format: Format): {
|
|
56
5
|
width: number;
|
|
57
6
|
height: number;
|
|
58
7
|
fps: number;
|
|
59
8
|
};
|
|
60
|
-
/**
|
|
61
|
-
* Runtime-validate an untrusted value as a `Composition`. The Temporal
|
|
62
|
-
* activity reads `renderJobs.composition` which is stored as
|
|
63
|
-
* `v.optional(v.any())` — Convex doesn't enforce shape at read time. A
|
|
64
|
-
* schema drift or a manual DB edit could leave a malformed value here,
|
|
65
|
-
* and the renderer would crash later in the pipeline with a less
|
|
66
|
-
* actionable error.
|
|
67
|
-
*
|
|
68
|
-
* Returns the validated composition or throws with a specific error
|
|
69
|
-
* message. Call this at the activity boundary before passing the
|
|
70
|
-
* composition to `compositionToRenderInput`. Pure JS validation — no
|
|
71
|
-
* Zod runtime — so this module ships into the Temporal worker without
|
|
72
|
-
* dragging the package's Zod surface along.
|
|
73
|
-
*/
|
|
74
9
|
export declare function validateComposition(raw: unknown): Composition;
|
|
75
|
-
/**
|
|
76
|
-
* Given a clip's effective trim window [trimStart, trimEnd] and an
|
|
77
|
-
* optional sorted+non-overlapping list of excluded ranges (all in source
|
|
78
|
-
* coordinates), return the playable spans in order. Each span is a
|
|
79
|
-
* contiguous source range that should render as a sub-clip.
|
|
80
|
-
*
|
|
81
|
-
* Invariant (enforced upstream): Σ(span.end - span.start) === clip.duration.
|
|
82
|
-
*/
|
|
83
|
-
/** The clip's playable spans (seconds) = [trimStart, trimEnd] minus
|
|
84
|
-
* excludedRanges. SSOT for section splitting — exported so the Director derives
|
|
85
|
-
* the SAME sections the render uses when it builds structure-first keep-outs. */
|
|
86
10
|
export declare function playableSpans(trimStart: number, trimEnd: number, excluded: Array<{
|
|
87
11
|
start: number;
|
|
88
12
|
end: number;
|
|
@@ -90,117 +14,14 @@ export declare function playableSpans(trimStart: number, trimEnd: number, exclud
|
|
|
90
14
|
start: number;
|
|
91
15
|
end: number;
|
|
92
16
|
}>;
|
|
93
|
-
/**
|
|
94
|
-
* Every unique mediaId the composition references — the SAME references
|
|
95
|
-
* `compositionToRenderInput` resolves through `srcUrls` (any clip whose
|
|
96
|
-
* `source.kind === 'media'`, on any track family). Interactive hosts (the
|
|
97
|
-
* editor preview) gate on this BEFORE converting: a referenced id without a
|
|
98
|
-
* URL yet is a LOADING state there, while the converter's fail-loud throw
|
|
99
|
-
* stays correct for export/server paths where every URL must already exist.
|
|
100
|
-
* Living next to the converter keeps the two walks from drifting.
|
|
101
|
-
*/
|
|
102
17
|
export declare function referencedMediaIds(composition: Composition): string[];
|
|
103
|
-
/**
|
|
104
|
-
* Every component-REFERENCE `custom` overlay clip, as `clipId → componentId` —
|
|
105
|
-
* the SAME references `compositionToRenderInput` resolves through
|
|
106
|
-
* `jsSourceByClipId` (bakeless live lane). Clips carrying their own inline
|
|
107
|
-
* `params.sourceCode` (desktop-authored customs) need no materialization and
|
|
108
|
-
* are excluded. Interactive hosts (the editor preview) gate on this BEFORE
|
|
109
|
-
* converting and feed the fetched live `jsSource`s in — the converter's
|
|
110
|
-
* fail-loud `custom_missing_sourcecode` throw stays correct for export/server
|
|
111
|
-
* paths. Living next to the converter keeps the walks from drifting.
|
|
112
|
-
*/
|
|
113
18
|
export declare function componentRefsByClipId(composition: Composition): Record<string, string>;
|
|
114
|
-
|
|
115
|
-
* Translate a wire-shape `Composition` to a frame-based `RenderInput`.
|
|
116
|
-
*
|
|
117
|
-
* The output's `durationInFrames` is the max content end across all
|
|
118
|
-
* tracks (clips + overlays + effects). An empty composition produces
|
|
119
|
-
* an empty RenderInput with duration 0 — caller decides whether that
|
|
120
|
-
* should error or render a black frame; we don't make a policy call
|
|
121
|
-
* here.
|
|
122
|
-
*/
|
|
123
|
-
export declare function compositionToRenderInput(composition: Composition, srcUrls: Record<string, string>,
|
|
124
|
-
/**
|
|
125
|
-
* Optional parallel map: `clipId → presigned crop-trajectory JSON URL`
|
|
126
|
-
* (keyed PER CLIP since Phase 2 — two clips of one media with different
|
|
127
|
-
* framing each carry their own trajectory). Populated by the caller
|
|
128
|
-
* (Temporal activity) when the mediaItem has a baked variant for the
|
|
129
|
-
* clip's window-qualified (intentHash, aspect). The renderer fetches the
|
|
130
|
-
* JSON at composition time and applies a per-frame CSS transform on the
|
|
131
|
-
* raw video to produce the cropped output. When unset for a given clipId,
|
|
132
|
-
* the renderer plays the raw source un-cropped.
|
|
133
|
-
*/
|
|
134
|
-
trajectoryUrls?: Record<string, string>,
|
|
135
|
-
/**
|
|
136
|
-
* Optional parallel map: `mediaId → presigned frame-packed co-view URL`
|
|
137
|
-
* (scene over matte, one opaque H.264). Populated by the caller for any clip
|
|
138
|
-
* whose timeline range overlaps a behind-subject caption window and whose
|
|
139
|
-
* matte the gate baked (content-driven, Phase 6). Matte PRESENCE is the gate —
|
|
140
|
-
* the render splits it into scene background + subject cut-out for the z-split.
|
|
141
|
-
*/
|
|
142
|
-
coViewUrls?: Record<string, string>,
|
|
143
|
-
/**
|
|
144
|
-
* Optional parallel map: `clipId → baked-alpha file URL/path` for alpha-layer
|
|
145
|
-
* clips (2.6b). The box bake (renderComponentAlpha) writes the transparent
|
|
146
|
-
* video; the caller (session daemon / director) threads the path here. The
|
|
147
|
-
* renderer mounts it as an alpha overlay at the clip's zPlane.
|
|
148
|
-
*/
|
|
149
|
-
alphaUrls?: Record<string, string>,
|
|
150
|
-
/**
|
|
151
|
-
* Optional parallel map: `clipId → FRESH transpiled jsSource` for
|
|
152
|
-
* component-backed `custom` overlays (bakeless live lane). Materialized per
|
|
153
|
-
* render from `installedComponents` (renders.ts) — the live-lane peer of
|
|
154
|
-
* `alphaUrls`. The overlay projection prefers it over any stored
|
|
155
|
-
* `params.sourceCode`, so a component edit is reflected on the next render
|
|
156
|
-
* with no composition re-save.
|
|
157
|
-
*/
|
|
158
|
-
jsSourceByClipId?: Record<string, string>,
|
|
159
|
-
/**
|
|
160
|
-
* Compound-clip resolution: `compositionId → Composition` for every
|
|
161
|
-
* `{kind:'composition'}` source the composition (transitively) embeds.
|
|
162
|
-
* Flattening happens HERE, at the one translator every render lane flows
|
|
163
|
-
* through, so an embedded sequence renders identically on desktop, cloud
|
|
164
|
-
* and still lanes. A compound clip with no entry FAILS LOUD
|
|
165
|
-
* (`compound_unresolved`) rather than rendering a deliverable that is
|
|
166
|
-
* silently missing a sequence.
|
|
167
|
-
*/
|
|
168
|
-
subCompositions?: Record<string, Composition>,
|
|
169
|
-
/**
|
|
170
|
-
* Optional parallel map: `clipId → an ALREADY-DERIVED crop trajectory`, the
|
|
171
|
-
* in-memory peer of `trajectoryUrls`.
|
|
172
|
-
*
|
|
173
|
-
* The editor supplies this. `deriveTrajectory` is pure and the subject track
|
|
174
|
-
* it reads arrives presigned on the media row, so a preview surface can
|
|
175
|
-
* derive exactly what the render will derive — same function, same track,
|
|
176
|
-
* same authored reframe — with no round trip and nothing to store. That is
|
|
177
|
-
* what lets a follow-the-speaker clip move in the preview instead of only in
|
|
178
|
-
* an output someone has already paid for.
|
|
179
|
-
*
|
|
180
|
-
* Server renders keep using `trajectoryUrls`: their trajectory is written to
|
|
181
|
-
* R2 by an action, and inlining a per-frame series would bloat the snapshot.
|
|
182
|
-
*/
|
|
183
|
-
trajectories?: Record<string, TrajectoryData>): RenderInput;
|
|
184
|
-
/**
|
|
185
|
-
* Assemble a RenderInput from an ALREADY-validated (and brand-ref-resolved)
|
|
186
|
-
* composition plus PRE-RESOLVED asset URL maps. This is the pure core shared by
|
|
187
|
-
* the director's `resolveRenderEnvironment` (which resolves the URLs with R2/S3
|
|
188
|
-
* creds, host-side) AND the in-container session daemon (which is handed the URLs
|
|
189
|
-
* and holds no creds). One builder ⇒ render and capture cannot diverge on the
|
|
190
|
-
* composition→RenderInput translation.
|
|
191
|
-
*
|
|
192
|
-
* `fontAssets` (when present) are the host-presigned brand font faces; they are
|
|
193
|
-
* attached to the RenderInput's brandKit so the renderer can `@font-face` them.
|
|
194
|
-
* The caller does the cred-bound URL/font resolution; this only assembles.
|
|
195
|
-
*/
|
|
19
|
+
export declare function compositionToRenderInput(composition: Composition, srcUrls: Record<string, string>, trajectoryUrls?: Record<string, string>, coViewUrls?: Record<string, string>, alphaUrls?: Record<string, string>, jsSourceByClipId?: Record<string, string>, subCompositions?: Record<string, Composition>, trajectories?: Record<string, TrajectoryData>): RenderInput;
|
|
196
20
|
export declare function assembleRenderInput(composition: Composition, resolved: {
|
|
197
21
|
srcUrls: Record<string, string>;
|
|
198
22
|
trajectoryUrls?: Record<string, string>;
|
|
199
23
|
coViewUrls?: Record<string, string>;
|
|
200
|
-
/** clipId → baked-alpha file URL/path for alpha-layer clips (2.6b). */
|
|
201
24
|
alphaUrls?: Record<string, string>;
|
|
202
|
-
/** clipId → FRESH transpiled jsSource for component-backed `custom` overlays
|
|
203
|
-
* (bakeless live lane; live-lane peer of `alphaUrls`). */
|
|
204
25
|
jsSourceByClipId?: Record<string, string>;
|
|
205
26
|
fontAssets?: NonNullable<RenderInput["brandKit"]>["fontAssets"];
|
|
206
27
|
}): RenderInput;
|