@cueframe/kernel 0.1.0 → 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/LICENSE +661 -0
- 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 +5 -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 +52 -0
- 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/index.d.ts +2 -0
- package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
- package/dist/_members/composition/projection/reframe-readiness.d.ts +49 -0
- 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 +63 -529
- package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
- package/dist/_members/composition/validators/render.d.ts +55 -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 +2 -165
- 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 +4 -156
- 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 +16 -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-VOO5FQSS.js → chunk-BZZTVOGG.js} +6 -55
- package/dist/{chunk-ODL7GQJG.js → chunk-CAJQ7H5A.js} +17 -17
- package/dist/{chunk-ZB3C3HM7.js → chunk-DCVJWGIA.js} +4 -9
- package/dist/{chunk-IBYQG46O.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-XWKZB5U5.js → chunk-ICSZF37W.js} +21 -150
- 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-GEA7E2FL.js → chunk-PIURX6IZ.js} +220 -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-NFEGPWGS.js → chunk-TFGKUWHY.js} +1 -88
- package/dist/{chunk-LM4WDUQJ.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-COYMZ76S.js → chunk-VFMW3JUY.js} +1 -1
- package/dist/{chunk-YIOY2XEO.js → chunk-VHF66LCQ.js} +22 -94
- 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-JRQVPFLF.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 +28 -4
- 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 +8 -6
- package/dist/composition-ops.js +18 -135
- package/dist/composition.js +35 -9
- 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 +5 -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/testing.js +1071 -718
- package/dist/media-model.js +38 -6
- package/dist/nle-export/server.js +328 -130
- package/dist/nle-export.js +22 -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 +39 -24
- package/dist/_members/account-model/index.js +0 -4
- package/dist/_members/account-model/testing/conversationStoreContract.js +0 -168
- package/dist/_members/account-model/testing/index.js +0 -7
- package/dist/_members/account-model/testing/restorePointStoreContract.js +0 -69
- package/dist/_members/account-model/types/index.js +0 -1
- package/dist/_members/account-model/validators/contextFile.js +0 -18
- package/dist/_members/account-model/validators/conversation.js +0 -95
- package/dist/_members/account-model/validators/dashboardInsight.js +0 -16
- package/dist/_members/account-model/validators/index.js +0 -7
- package/dist/_members/account-model/validators/sessionToken.js +0 -49
- package/dist/_members/account-model/validators/uploadToken.js +0 -16
- package/dist/_members/account-model/validators/userSettings.js +0 -12
- package/dist/_members/account-model/validators/workingComposition.js +0 -20
- package/dist/_members/brand-derivation/constants.js +0 -20
- package/dist/_members/brand-derivation/contrastSafe.js +0 -114
- package/dist/_members/brand-derivation/index.js +0 -1
- package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +0 -162
- package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +0 -1
- package/dist/_members/cloud-import/index.js +0 -241
- package/dist/_members/cloud-import/index.js.map +0 -1
- package/dist/_members/cloud-import/multipartUpload.js +0 -7
- package/dist/_members/cloud-import/multipartUpload.js.map +0 -1
- package/dist/_members/composition/audio/audioMix.js +0 -61
- package/dist/_members/composition/audio/index.js +0 -5
- package/dist/_members/composition/audio/mixStaging.js +0 -195
- package/dist/_members/composition/audio/musicPack.generated.js +0 -136
- package/dist/_members/composition/audio/musicPack.js +0 -36
- package/dist/_members/composition/audio/pack.generated.js +0 -603
- package/dist/_members/composition/audio/pack.js +0 -48
- package/dist/_members/composition/audio/palette.js +0 -134
- package/dist/_members/composition/autozoom/index.js +0 -83
- package/dist/_members/composition/brand-kit.js +0 -45
- package/dist/_members/composition/brief/contract.js +0 -209
- package/dist/_members/composition/color-grade.js +0 -80
- package/dist/_members/composition/depth.js +0 -8
- package/dist/_members/composition/fixtures/index.js +0 -143
- package/dist/_members/composition/fixtures/vaayaErrored.d.ts +0 -25
- package/dist/_members/composition/fixtures/vaayaErrored.js +0 -203
- package/dist/_members/composition/fonts.js +0 -162
- package/dist/_members/composition/graphics-plan/compile.js +0 -221
- package/dist/_members/composition/graphics-plan/index.js +0 -10
- package/dist/_members/composition/graphics-plan/instantiateMotif.js +0 -44
- package/dist/_members/composition/graphics-plan/motion.js +0 -66
- package/dist/_members/composition/graphics-plan/schemas.js +0 -261
- package/dist/_members/composition/graphics-plan/solve.js +0 -145
- package/dist/_members/composition/index.js +0 -5
- package/dist/_members/composition/invariants/clipPlacement.js +0 -69
- package/dist/_members/composition/invariants/composition.js +0 -28
- package/dist/_members/composition/invariants/errors.js +0 -10
- package/dist/_members/composition/invariants/etag.js +0 -38
- package/dist/_members/composition/invariants/ids.js +0 -33
- package/dist/_members/composition/invariants/index.js +0 -9
- package/dist/_members/composition/invariants/keyframes.js +0 -45
- package/dist/_members/composition/invariants/markers.js +0 -29
- package/dist/_members/composition/invariants/time.js +0 -20
- package/dist/_members/composition/invariants/tracks.js +0 -304
- package/dist/_members/composition/ops/compositionOps.js +0 -1056
- package/dist/_members/composition/ops/headlessStore.js +0 -94
- package/dist/_members/composition/ops/index.js +0 -4
- package/dist/_members/composition/ops/selectors.js +0 -118
- package/dist/_members/composition/ops/timeline-word.js +0 -1
- package/dist/_members/composition/ops/transcript.js +0 -77
- package/dist/_members/composition/ops/types.js +0 -16
- package/dist/_members/composition/primitive-catalog/catalogQuery.js +0 -150
- package/dist/_members/composition/primitive-catalog/disabled.js +0 -32
- package/dist/_members/composition/primitive-catalog/generated/meta.js +0 -15161
- package/dist/_members/composition/primitive-catalog/index.js +0 -46
- package/dist/_members/composition/primitive-catalog/paramValidation.js +0 -231
- package/dist/_members/composition/primitive-catalog/projection.js +0 -164
- package/dist/_members/composition/primitive-catalog/types.js +0 -14
- package/dist/_members/composition/projection/behind-placement.js +0 -62
- package/dist/_members/composition/projection/brandKit.js +0 -482
- package/dist/_members/composition/projection/cardTokens.js +0 -209
- package/dist/_members/composition/projection/composition-floor.js +0 -582
- package/dist/_members/composition/projection/cropProjection.js +0 -257
- package/dist/_members/composition/projection/index.js +0 -7
- package/dist/_members/composition/projection/occlusion-budget.js +0 -104
- package/dist/_members/composition/projection/safe-zones.js +0 -99
- package/dist/_members/composition/reframe/aspectLoss.js +0 -115
- package/dist/_members/composition/reframe/coverage.js +0 -62
- package/dist/_members/composition/reframe/derive.js +0 -73
- package/dist/_members/composition/reframe/index.js +0 -109
- package/dist/_members/composition/reframe/kenBurns.js +0 -64
- package/dist/_members/composition/reframe/shotScale.js +0 -176
- package/dist/_members/composition/reframe/trajectory.js +0 -124
- package/dist/_members/composition/timeline/compound.js +0 -134
- package/dist/_members/composition/timeline/index.js +0 -9
- package/dist/_members/composition/timeline/intent.js +0 -228
- package/dist/_members/composition/timeline/keyframes.js +0 -121
- package/dist/_members/composition/timeline/link.js +0 -59
- package/dist/_members/composition/timeline/occupancy.js +0 -36
- package/dist/_members/composition/timeline/placement.js +0 -74
- package/dist/_members/composition/timeline/plan.js +0 -31
- package/dist/_members/composition/timeline/resolve.js +0 -170
- package/dist/_members/composition/timeline/trims.js +0 -278
- package/dist/_members/composition/types/index.js +0 -1
- package/dist/_members/composition/validators/brandKit.js +0 -295
- package/dist/_members/composition/validators/composePlan.js +0 -113
- package/dist/_members/composition/validators/composition.js +0 -703
- package/dist/_members/composition/validators/font.js +0 -34
- package/dist/_members/composition/validators/graphicKinds.js +0 -30
- package/dist/_members/composition/validators/index.js +0 -9
- package/dist/_members/composition/validators/project.js +0 -29
- package/dist/_members/composition/validators/registry.js +0 -41
- package/dist/_members/composition/validators/render.js +0 -139
- package/dist/_members/composition/validators/session.js +0 -37
- package/dist/_members/composition/validators/webhook.js +0 -72
- package/dist/_members/composition-ops/alphaLayers.js +0 -141
- package/dist/_members/composition-ops/index.js +0 -637
- package/dist/_members/composition-ops/materializeGrid.js +0 -99
- package/dist/_members/composition-ops/opRecorder.js +0 -196
- package/dist/_members/composition-ops/recordingStore.js +0 -14
- package/dist/_members/composition-ops/replaceRegion.js +0 -102
- package/dist/_members/composition-ops/testFixtures.js +0 -19
- package/dist/_members/core/index.js +0 -5
- package/dist/_members/core/render/bookends.js +0 -53
- package/dist/_members/core/render/captions.js +0 -127
- package/dist/_members/core/render/compositionRender.js +0 -1249
- package/dist/_members/core/render/deriveTrajectory.js +0 -889
- package/dist/_members/core/render/emphasis.js +0 -16
- package/dist/_members/core/render/eval/cropBox.js +0 -139
- package/dist/_members/core/render/eval/inclusion.js +0 -96
- package/dist/_members/core/render/eval/index.js +0 -146
- package/dist/_members/core/render/eval/metrics.js +0 -94
- package/dist/_members/core/render/exportSettings.js +0 -65
- package/dist/_members/core/render/index.js +0 -20
- package/dist/_members/core/render/mapFaceToPerson.js +0 -73
- package/dist/_members/core/render/types.js +0 -8
- package/dist/_members/core/render/vcam/cameraPath.js +0 -248
- package/dist/_members/core/render/vcam/constants.js +0 -115
- package/dist/_members/core/render/vcam/errorCodes.js +0 -39
- package/dist/_members/core/render/vcam/framing.js +0 -136
- package/dist/_members/core/render/vcam/requiredRegion.js +0 -137
- package/dist/_members/core/render/vcam/shots.js +0 -53
- package/dist/_members/core/render/vcam/subjectSet.js +0 -388
- package/dist/_members/core/select/errorCodes.js +0 -38
- package/dist/_members/core/select/index.js +0 -26
- package/dist/_members/core/select/model.js +0 -18
- package/dist/_members/core/select/select.js +0 -244
- package/dist/_members/core/select/stabilize.js +0 -242
- package/dist/_members/core/types.js +0 -7
- package/dist/_members/errors/index.js +0 -1
- package/dist/_members/errors/registry.js +0 -560
- package/dist/_members/foundation/codes/index.js +0 -31
- package/dist/_members/foundation/index.js +0 -2
- package/dist/_members/foundation/primitives/index.js +0 -5
- package/dist/_members/mcp/adapter.js +0 -771
- package/dist/_members/mcp/burnedNames.js +0 -73
- package/dist/_members/mcp/core.js +0 -390
- package/dist/_members/mcp/curation.js +0 -792
- package/dist/_members/mcp/executor.js +0 -142
- package/dist/_members/mcp/format.js +0 -9
- package/dist/_members/mcp/generated/catalogPreviews.js +0 -95
- package/dist/_members/mcp/generated/harness.js +0 -81
- package/dist/_members/mcp/generated/operations.js +0 -131
- package/dist/_members/mcp/index.js +0 -50
- package/dist/_members/mcp/internalLoopTools.js +0 -109
- package/dist/_members/mcp/prompts.js +0 -45
- package/dist/_members/mcp/resources.js +0 -166
- package/dist/_members/mcp/server.js +0 -340
- package/dist/_members/mcp/wait.js +0 -378
- package/dist/_members/mcp/x402Meta.js +0 -66
- package/dist/_members/media-model/api.js +0 -175
- package/dist/_members/media-model/index.js +0 -1
- package/dist/_members/media-model/media-kind.js +0 -116
- package/dist/_members/media-model/testing/index.js +0 -1
- package/dist/_members/media-model/testing/mediaStoreContract.js +0 -82
- package/dist/_members/media-model/transcriptSearch.js +0 -70
- package/dist/_members/media-model/transcriptSearchCases.json +0 -79
- package/dist/_members/nle-export/compact-timeline.js +0 -73
- package/dist/_members/nle-export/compact-timeline.js.map +0 -1
- package/dist/_members/nle-export/composition-to-input.js +0 -147
- package/dist/_members/nle-export/composition-to-input.js.map +0 -1
- package/dist/_members/nle-export/fcpxml.js +0 -159
- package/dist/_members/nle-export/fcpxml.js.map +0 -1
- package/dist/_members/nle-export/index.js +0 -12
- package/dist/_members/nle-export/index.js.map +0 -1
- package/dist/_members/nle-export/premiere.js +0 -161
- package/dist/_members/nle-export/premiere.js.map +0 -1
- package/dist/_members/nle-export/server/index.js +0 -2
- package/dist/_members/nle-export/server/index.js.map +0 -1
- package/dist/_members/nle-export/server/pack-zip.js +0 -38
- package/dist/_members/nle-export/server/pack-zip.js.map +0 -1
- package/dist/_members/nle-export/srt.js +0 -50
- package/dist/_members/nle-export/srt.js.map +0 -1
- package/dist/_members/nle-export/types.js +0 -9
- package/dist/_members/nle-export/types.js.map +0 -1
- package/dist/_members/nle-export/xml/index.js +0 -11
- package/dist/_members/nle-export/xml/index.js.map +0 -1
- package/dist/_members/nle-export/xml-utils.js +0 -48
- package/dist/_members/nle-export/xml-utils.js.map +0 -1
- package/dist/_members/perception/activeSpeaker.js +0 -103
- package/dist/_members/perception/audioQuality.js +0 -76
- package/dist/_members/perception/energyBeat.js +0 -99
- package/dist/_members/perception/identityMatch.js +0 -91
- package/dist/_members/perception/index.js +0 -48
- package/dist/_members/perception/visualQuality.js +0 -95
- package/dist/_members/plane/conformance.js +0 -90
- package/dist/_members/plane/contract.js +0 -49
- package/dist/_members/plane/index.js +0 -16
- package/dist/_members/primitives/backgrounds/index.js +0 -32
- package/dist/_members/primitives/backgrounds/index.js.map +0 -1
- package/dist/_members/primitives/captions/index.js +0 -398
- package/dist/_members/primitives/captions/index.js.map +0 -1
- package/dist/_members/primitives/chunk-2LVE4UIT.js +0 -139
- package/dist/_members/primitives/chunk-2LVE4UIT.js.map +0 -1
- package/dist/_members/primitives/chunk-3IQUH6KK.js +0 -20
- package/dist/_members/primitives/chunk-3IQUH6KK.js.map +0 -1
- package/dist/_members/primitives/chunk-3OMURV6Q.js +0 -112
- package/dist/_members/primitives/chunk-3OMURV6Q.js.map +0 -1
- package/dist/_members/primitives/chunk-4IS6TMEG.js +0 -21
- package/dist/_members/primitives/chunk-4IS6TMEG.js.map +0 -1
- package/dist/_members/primitives/chunk-5MWGAEGQ.js +0 -1644
- package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +0 -1
- package/dist/_members/primitives/chunk-7RRPFPQK.js +0 -15
- package/dist/_members/primitives/chunk-7RRPFPQK.js.map +0 -1
- package/dist/_members/primitives/chunk-DH5TRZK2.js +0 -125
- package/dist/_members/primitives/chunk-DH5TRZK2.js.map +0 -1
- package/dist/_members/primitives/chunk-E3KNUSFG.js +0 -2337
- package/dist/_members/primitives/chunk-E3KNUSFG.js.map +0 -1
- package/dist/_members/primitives/chunk-G2B3G4HK.js +0 -47
- package/dist/_members/primitives/chunk-G2B3G4HK.js.map +0 -1
- package/dist/_members/primitives/chunk-HFPFGZXT.js +0 -1494
- package/dist/_members/primitives/chunk-HFPFGZXT.js.map +0 -1
- package/dist/_members/primitives/chunk-HIWVFZVH.js +0 -19
- package/dist/_members/primitives/chunk-HIWVFZVH.js.map +0 -1
- package/dist/_members/primitives/chunk-IDAL6G3Y.js +0 -134
- package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +0 -1
- package/dist/_members/primitives/chunk-KNC6JP5F.js +0 -34
- package/dist/_members/primitives/chunk-KNC6JP5F.js.map +0 -1
- package/dist/_members/primitives/chunk-KYRDVZST.js +0 -459
- package/dist/_members/primitives/chunk-KYRDVZST.js.map +0 -1
- package/dist/_members/primitives/chunk-LWLHS2NS.js +0 -3410
- package/dist/_members/primitives/chunk-LWLHS2NS.js.map +0 -1
- package/dist/_members/primitives/chunk-QAQ3P7DR.js +0 -8855
- package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +0 -1
- package/dist/_members/primitives/chunk-ROV2ODWC.js +0 -81
- package/dist/_members/primitives/chunk-ROV2ODWC.js.map +0 -1
- package/dist/_members/primitives/chunk-TCRC2FH3.js +0 -183
- package/dist/_members/primitives/chunk-TCRC2FH3.js.map +0 -1
- package/dist/_members/primitives/chunk-US4YEDAA.js +0 -96
- package/dist/_members/primitives/chunk-US4YEDAA.js.map +0 -1
- package/dist/_members/primitives/chunk-UVKRO5ER.js +0 -13
- package/dist/_members/primitives/chunk-UVKRO5ER.js.map +0 -1
- package/dist/_members/primitives/chunk-W4EIIF2I.js +0 -10
- package/dist/_members/primitives/chunk-W4EIIF2I.js.map +0 -1
- package/dist/_members/primitives/chunk-WPGKIPCO.js +0 -3563
- package/dist/_members/primitives/chunk-WPGKIPCO.js.map +0 -1
- package/dist/_members/primitives/chunk-WZFLEGMD.js +0 -1435
- package/dist/_members/primitives/chunk-WZFLEGMD.js.map +0 -1
- package/dist/_members/primitives/chunk-XHU3WBEI.js +0 -33
- package/dist/_members/primitives/chunk-XHU3WBEI.js.map +0 -1
- package/dist/_members/primitives/chunk-YN7WTZZ7.js +0 -46
- package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +0 -1
- package/dist/_members/primitives/effects/index.js +0 -30
- package/dist/_members/primitives/effects/index.js.map +0 -1
- package/dist/_members/primitives/hero-text/index.js +0 -14
- package/dist/_members/primitives/hero-text/index.js.map +0 -1
- package/dist/_members/primitives/index.js +0 -64
- package/dist/_members/primitives/index.js.map +0 -1
- package/dist/_members/primitives/layouts/index.js +0 -24
- package/dist/_members/primitives/layouts/index.js.map +0 -1
- package/dist/_members/primitives/lib/easings.js +0 -26
- package/dist/_members/primitives/lib/easings.js.map +0 -1
- package/dist/_members/primitives/lib/index.js +0 -74
- package/dist/_members/primitives/lib/index.js.map +0 -1
- package/dist/_members/primitives/lib/palette.js +0 -72
- package/dist/_members/primitives/lib/palette.js.map +0 -1
- package/dist/_members/primitives/lib/preview.js +0 -8
- package/dist/_members/primitives/lib/preview.js.map +0 -1
- package/dist/_members/primitives/lib/schema.js +0 -12
- package/dist/_members/primitives/lib/schema.js.map +0 -1
- package/dist/_members/primitives/lib/seeded-random.js +0 -14
- package/dist/_members/primitives/lib/seeded-random.js.map +0 -1
- package/dist/_members/primitives/lib/text/contrast.js +0 -12
- package/dist/_members/primitives/lib/text/contrast.js.map +0 -1
- package/dist/_members/primitives/lib/text/fill.js +0 -8
- package/dist/_members/primitives/lib/text/fill.js.map +0 -1
- package/dist/_members/primitives/lib/text/fitText.js +0 -10
- package/dist/_members/primitives/lib/text/fitText.js.map +0 -1
- package/dist/_members/primitives/lib/text/marker.js +0 -8
- package/dist/_members/primitives/lib/text/marker.js.map +0 -1
- package/dist/_members/primitives/lib/text/motion.js +0 -16
- package/dist/_members/primitives/lib/text/motion.js.map +0 -1
- package/dist/_members/primitives/lib/text/recolor.js +0 -8
- package/dist/_members/primitives/lib/text/recolor.js.map +0 -1
- package/dist/_members/primitives/lib/text/spec.js +0 -1
- package/dist/_members/primitives/lib/text/spec.js.map +0 -1
- package/dist/_members/primitives/lib/text/stage.js +0 -8
- package/dist/_members/primitives/lib/text/stage.js.map +0 -1
- package/dist/_members/primitives/lib/text/typeface.js +0 -8
- package/dist/_members/primitives/lib/text/typeface.js.map +0 -1
- package/dist/_members/primitives/lib/tokens.js +0 -24
- package/dist/_members/primitives/lib/tokens.js.map +0 -1
- package/dist/_members/primitives/lib/types.js +0 -1
- package/dist/_members/primitives/lib/types.js.map +0 -1
- package/dist/_members/primitives/params-required.json +0 -153
- package/dist/_members/primitives/scenes/index.js +0 -25
- package/dist/_members/primitives/scenes/index.js.map +0 -1
- package/dist/_members/primitives/subject-foreground/index.js +0 -30
- package/dist/_members/primitives/subject-foreground/index.js.map +0 -1
- package/dist/_members/primitives/text/index.js +0 -57
- package/dist/_members/primitives/text/index.js.map +0 -1
- package/dist/_members/primitives/transitions/index.js +0 -67
- package/dist/_members/primitives/transitions/index.js.map +0 -1
- package/dist/_members/primitives/ui-blocks/index.js +0 -76
- package/dist/_members/primitives/ui-blocks/index.js.map +0 -1
- package/dist/_members/primitives/version-map.json +0 -105
- package/dist/_members/primitives/workspace.js +0 -60
- package/dist/_members/primitives/workspace.js.map +0 -1
- package/dist/chunk-37NJ27UU.js +0 -501
- package/dist/chunk-6EQXLEP6.js +0 -194
- package/dist/chunk-MXFAADCQ.js +0 -735
- package/dist/context-OKX3HHFS.js +0 -14
|
@@ -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,87 +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
|
-
|
|
48
|
-
* Resolve `Format` (`aspectRatio`, optional `fps` + `resolution`) to
|
|
49
|
-
* concrete pixel dimensions. Mirrors the public-composition path's
|
|
50
|
-
* `publicFormatDimensions` so a Composition with `format: { aspectRatio:
|
|
51
|
-
* "9:16", fps: 30, resolution: "fhd" }` lands at the same 1080×1920
|
|
52
|
-
* regardless of which translator the worker traversed.
|
|
53
|
-
*/
|
|
3
|
+
import type { TrajectoryData } from "../../composition/reframe/trajectory.js";
|
|
54
4
|
export declare function compositionFormatDimensions(format: Format): {
|
|
55
5
|
width: number;
|
|
56
6
|
height: number;
|
|
57
7
|
fps: number;
|
|
58
8
|
};
|
|
59
|
-
/**
|
|
60
|
-
* Runtime-validate an untrusted value as a `Composition`. The Temporal
|
|
61
|
-
* activity reads `renderJobs.composition` which is stored as
|
|
62
|
-
* `v.optional(v.any())` — Convex doesn't enforce shape at read time. A
|
|
63
|
-
* schema drift or a manual DB edit could leave a malformed value here,
|
|
64
|
-
* and the renderer would crash later in the pipeline with a less
|
|
65
|
-
* actionable error.
|
|
66
|
-
*
|
|
67
|
-
* Returns the validated composition or throws with a specific error
|
|
68
|
-
* message. Call this at the activity boundary before passing the
|
|
69
|
-
* composition to `compositionToRenderInput`. Pure JS validation — no
|
|
70
|
-
* Zod runtime — so this module ships into the Temporal worker without
|
|
71
|
-
* dragging the package's Zod surface along.
|
|
72
|
-
*/
|
|
73
9
|
export declare function validateComposition(raw: unknown): Composition;
|
|
74
|
-
/**
|
|
75
|
-
* Given a clip's effective trim window [trimStart, trimEnd] and an
|
|
76
|
-
* optional sorted+non-overlapping list of excluded ranges (all in source
|
|
77
|
-
* coordinates), return the playable spans in order. Each span is a
|
|
78
|
-
* contiguous source range that should render as a sub-clip.
|
|
79
|
-
*
|
|
80
|
-
* Invariant (enforced upstream): Σ(span.end - span.start) === clip.duration.
|
|
81
|
-
*/
|
|
82
|
-
/** The clip's playable spans (seconds) = [trimStart, trimEnd] minus
|
|
83
|
-
* excludedRanges. SSOT for section splitting — exported so the Director derives
|
|
84
|
-
* the SAME sections the render uses when it builds structure-first keep-outs. */
|
|
85
10
|
export declare function playableSpans(trimStart: number, trimEnd: number, excluded: Array<{
|
|
86
11
|
start: number;
|
|
87
12
|
end: number;
|
|
@@ -89,102 +14,14 @@ export declare function playableSpans(trimStart: number, trimEnd: number, exclud
|
|
|
89
14
|
start: number;
|
|
90
15
|
end: number;
|
|
91
16
|
}>;
|
|
92
|
-
/**
|
|
93
|
-
* Every unique mediaId the composition references — the SAME references
|
|
94
|
-
* `compositionToRenderInput` resolves through `srcUrls` (any clip whose
|
|
95
|
-
* `source.kind === 'media'`, on any track family). Interactive hosts (the
|
|
96
|
-
* editor preview) gate on this BEFORE converting: a referenced id without a
|
|
97
|
-
* URL yet is a LOADING state there, while the converter's fail-loud throw
|
|
98
|
-
* stays correct for export/server paths where every URL must already exist.
|
|
99
|
-
* Living next to the converter keeps the two walks from drifting.
|
|
100
|
-
*/
|
|
101
17
|
export declare function referencedMediaIds(composition: Composition): string[];
|
|
102
|
-
/**
|
|
103
|
-
* Every component-REFERENCE `custom` overlay clip, as `clipId → componentId` —
|
|
104
|
-
* the SAME references `compositionToRenderInput` resolves through
|
|
105
|
-
* `jsSourceByClipId` (bakeless live lane). Clips carrying their own inline
|
|
106
|
-
* `params.sourceCode` (desktop-authored customs) need no materialization and
|
|
107
|
-
* are excluded. Interactive hosts (the editor preview) gate on this BEFORE
|
|
108
|
-
* converting and feed the fetched live `jsSource`s in — the converter's
|
|
109
|
-
* fail-loud `custom_missing_sourcecode` throw stays correct for export/server
|
|
110
|
-
* paths. Living next to the converter keeps the walks from drifting.
|
|
111
|
-
*/
|
|
112
18
|
export declare function componentRefsByClipId(composition: Composition): Record<string, string>;
|
|
113
|
-
|
|
114
|
-
* Translate a wire-shape `Composition` to a frame-based `RenderInput`.
|
|
115
|
-
*
|
|
116
|
-
* The output's `durationInFrames` is the max content end across all
|
|
117
|
-
* tracks (clips + overlays + effects). An empty composition produces
|
|
118
|
-
* an empty RenderInput with duration 0 — caller decides whether that
|
|
119
|
-
* should error or render a black frame; we don't make a policy call
|
|
120
|
-
* here.
|
|
121
|
-
*/
|
|
122
|
-
export declare function compositionToRenderInput(composition: Composition, srcUrls: Record<string, string>,
|
|
123
|
-
/**
|
|
124
|
-
* Optional parallel map: `clipId → presigned crop-trajectory JSON URL`
|
|
125
|
-
* (keyed PER CLIP since Phase 2 — two clips of one media with different
|
|
126
|
-
* framing each carry their own trajectory). Populated by the caller
|
|
127
|
-
* (Temporal activity) when the mediaItem has a baked variant for the
|
|
128
|
-
* clip's window-qualified (intentHash, aspect). The renderer fetches the
|
|
129
|
-
* JSON at composition time and applies a per-frame CSS transform on the
|
|
130
|
-
* raw video to produce the cropped output. When unset for a given clipId,
|
|
131
|
-
* the renderer plays the raw source un-cropped.
|
|
132
|
-
*/
|
|
133
|
-
trajectoryUrls?: Record<string, string>,
|
|
134
|
-
/**
|
|
135
|
-
* Optional parallel map: `mediaId → presigned frame-packed co-view URL`
|
|
136
|
-
* (scene over matte, one opaque H.264). Populated by the caller for any clip
|
|
137
|
-
* whose timeline range overlaps a behind-subject caption window and whose
|
|
138
|
-
* matte the gate baked (content-driven, Phase 6). Matte PRESENCE is the gate —
|
|
139
|
-
* the render splits it into scene background + subject cut-out for the z-split.
|
|
140
|
-
*/
|
|
141
|
-
coViewUrls?: Record<string, string>,
|
|
142
|
-
/**
|
|
143
|
-
* Optional parallel map: `clipId → baked-alpha file URL/path` for alpha-layer
|
|
144
|
-
* clips (2.6b). The box bake (renderComponentAlpha) writes the transparent
|
|
145
|
-
* video; the caller (session daemon / director) threads the path here. The
|
|
146
|
-
* renderer mounts it as an alpha overlay at the clip's zPlane.
|
|
147
|
-
*/
|
|
148
|
-
alphaUrls?: Record<string, string>,
|
|
149
|
-
/**
|
|
150
|
-
* Optional parallel map: `clipId → FRESH transpiled jsSource` for
|
|
151
|
-
* component-backed `custom` overlays (bakeless live lane). Materialized per
|
|
152
|
-
* render from `installedComponents` (renders.ts) — the live-lane peer of
|
|
153
|
-
* `alphaUrls`. The overlay projection prefers it over any stored
|
|
154
|
-
* `params.sourceCode`, so a component edit is reflected on the next render
|
|
155
|
-
* with no composition re-save.
|
|
156
|
-
*/
|
|
157
|
-
jsSourceByClipId?: Record<string, string>,
|
|
158
|
-
/**
|
|
159
|
-
* Compound-clip resolution: `compositionId → Composition` for every
|
|
160
|
-
* `{kind:'composition'}` source the composition (transitively) embeds.
|
|
161
|
-
* Flattening happens HERE, at the one translator every render lane flows
|
|
162
|
-
* through, so an embedded sequence renders identically on desktop, cloud
|
|
163
|
-
* and still lanes. A compound clip with no entry FAILS LOUD
|
|
164
|
-
* (`compound_unresolved`) rather than rendering a deliverable that is
|
|
165
|
-
* silently missing a sequence.
|
|
166
|
-
*/
|
|
167
|
-
subCompositions?: Record<string, Composition>): RenderInput;
|
|
168
|
-
/**
|
|
169
|
-
* Assemble a RenderInput from an ALREADY-validated (and brand-ref-resolved)
|
|
170
|
-
* composition plus PRE-RESOLVED asset URL maps. This is the pure core shared by
|
|
171
|
-
* the director's `resolveRenderEnvironment` (which resolves the URLs with R2/S3
|
|
172
|
-
* creds, host-side) AND the in-container session daemon (which is handed the URLs
|
|
173
|
-
* and holds no creds). One builder ⇒ render and capture cannot diverge on the
|
|
174
|
-
* composition→RenderInput translation.
|
|
175
|
-
*
|
|
176
|
-
* `fontAssets` (when present) are the host-presigned brand font faces; they are
|
|
177
|
-
* attached to the RenderInput's brandKit so the renderer can `@font-face` them.
|
|
178
|
-
* The caller does the cred-bound URL/font resolution; this only assembles.
|
|
179
|
-
*/
|
|
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;
|
|
180
20
|
export declare function assembleRenderInput(composition: Composition, resolved: {
|
|
181
21
|
srcUrls: Record<string, string>;
|
|
182
22
|
trajectoryUrls?: Record<string, string>;
|
|
183
23
|
coViewUrls?: Record<string, string>;
|
|
184
|
-
/** clipId → baked-alpha file URL/path for alpha-layer clips (2.6b). */
|
|
185
24
|
alphaUrls?: Record<string, string>;
|
|
186
|
-
/** clipId → FRESH transpiled jsSource for component-backed `custom` overlays
|
|
187
|
-
* (bakeless live lane; live-lane peer of `alphaUrls`). */
|
|
188
25
|
jsSourceByClipId?: Record<string, string>;
|
|
189
26
|
fontAssets?: NonNullable<RenderInput["brandKit"]>["fontAssets"];
|
|
190
27
|
}): RenderInput;
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* deriveTrajectory — PURE TypeScript STAGE-B crop-trajectory math (the cheap
|
|
3
|
-
* "apply a crop intent" half), derived over a cached source-level `subjectTrack`.
|
|
4
|
-
*
|
|
5
|
-
* This is the SINGLE crop derivation for EVERY render surface — the agent's
|
|
6
|
-
* in-loop capture, the verifier eval, AND the customer ship render — by
|
|
7
|
-
* construction: each surface calls THIS function over the SAME cached track +
|
|
8
|
-
* the SAME authored reframe, so the trajectory is identical bytes with no
|
|
9
|
-
* pre-baked variant cache to drift. Render-time-resolution (2026-06-14): the
|
|
10
|
-
* trajectory is DERIVED INLINE at render, never looked up as a baked variant,
|
|
11
|
-
* which deleted the trajectory variant cache + its `variant_not_baked` bug class.
|
|
12
|
-
*
|
|
13
|
-
* Lives in @cueframe/execution/core (`@cueframe/core/render`) — it depends only
|
|
14
|
-
* on TYPES from @cueframe/perception (`SubjectTrack`/`Face`/`FaceBox`) and
|
|
15
|
-
* @cueframe/composition (`ReframeSegment` + the eased-ramp helpers), both legal
|
|
16
|
-
* execution-framework dependencies (execution MAY depend on perception +
|
|
17
|
-
* composition). The Modal `reframe_bake` re-detection path is retired — there is
|
|
18
|
-
* one derivation, so there is no TS↔Python drift to guard against.
|
|
19
|
-
*
|
|
20
|
-
* Output shape is the canonical `TrajectoryData` from
|
|
21
|
-
* @cueframe/composition/reframe/trajectory — the SSOT that both this producer and
|
|
22
|
-
* the renderer (CropFromTrajectory.tsx) import; neither declares a local mirror.
|
|
23
|
-
*
|
|
24
|
-
* See brain/Projects/CueFrame/specs/2026-06-14-render-time-resolution-design.md.
|
|
25
|
-
*/
|
|
26
1
|
import type { Face, FaceBox, SubjectTrack } from '../../perception/index.js';
|
|
27
2
|
export type { Face, FaceBox, SubjectTrack } from '../../perception/index.js';
|
|
28
3
|
import type { ReframeSegment } from '../../composition/reframe/index.js';
|
|
@@ -31,15 +6,7 @@ export { buildEasedZooms, buildPannedCenters, easeOutCubic } from '../../composi
|
|
|
31
6
|
import type { TrajectorySubject, TrajectoryData } from '../../composition/reframe/trajectory.js';
|
|
32
7
|
export type { TrajectorySubject, TrajectorySegment, TrajectoryData } from '../../composition/reframe/trajectory.js';
|
|
33
8
|
import { type ShotFit } from './vcam/framing.js';
|
|
34
|
-
/**
|
|
35
|
-
* Normalized area of a face detection — used to rank faces largest-first
|
|
36
|
-
* (largest ≈ closest to camera = `face-0` by convention). Mirrors
|
|
37
|
-
* reframe_bake.py `_face_area` (width/height path; negatives clamp to 0).
|
|
38
|
-
*/
|
|
39
9
|
export declare function faceArea(face: Face): number;
|
|
40
|
-
/** The crop subject pick the agent authors on a segment (mirror of the wire
|
|
41
|
-
* `cropIntents[].subject`). `active-speaker` is resolved upstream (per
|
|
42
|
-
* keyframe) into a concrete `face` before this is consulted. */
|
|
43
10
|
export type Subject = {
|
|
44
11
|
kind: 'face';
|
|
45
12
|
faceId: string;
|
|
@@ -54,131 +21,24 @@ export type Subject = {
|
|
|
54
21
|
x: number;
|
|
55
22
|
y: number;
|
|
56
23
|
};
|
|
57
|
-
/**
|
|
58
|
-
* Filter the detector's face list by the segment's subject pick:
|
|
59
|
-
* - `all-faces` → all faces (cropper fits the union bbox).
|
|
60
|
-
* - `frame-center` → [] (cropper centers on the source geometric center).
|
|
61
|
-
* - `face` faceId=`face-N` → the face with that STABLE tracker id this frame.
|
|
62
|
-
* The roster the agent authors against carries the tracker's stable ids, so
|
|
63
|
-
* `face-2` means "that tracked person," NOT "the 3rd-largest face this frame."
|
|
64
|
-
* Absent this frame → [] (caller emits no center; EMA forward-fills) rather
|
|
65
|
-
* than silently snapping to a DIFFERENT person — the old area-rank +
|
|
66
|
-
* out-of-range→largest behavior is exactly what made the crop ping-pong
|
|
67
|
-
* between speakers (brain Issue crop-subject-resolved-by-area-rank).
|
|
68
|
-
* - The EMPTY-string faceId is a sentinel (the active-speaker degrade, see
|
|
69
|
-
* deriveSegment) meaning "no specific subject this frame → largest face."
|
|
70
|
-
* Throws on an unknown kind.
|
|
71
|
-
*
|
|
72
|
-
* NB: the retired Python `reframe_bake._resolve_subject_faces` did area-rank;
|
|
73
|
-
* that path is dead (TS is the only live derivation), so there is no drift.
|
|
74
|
-
*/
|
|
75
24
|
export declare function resolveSubjectFaces(faces: Face[], subject: Subject): Face[];
|
|
76
|
-
/** A normalized crop center `[cx, cy]` in [0,1] vs source dims. */
|
|
77
25
|
export type Center = [number, number];
|
|
78
|
-
/**
|
|
79
|
-
* The target crop center from face dets + subject pick. Mirrors
|
|
80
|
-
* reframe_bake.py `_selected_face_center`: `frame-center` (and no usable
|
|
81
|
-
* selection) → null (caller centers on source); otherwise the area-weighted
|
|
82
|
-
* centroid of the selected faces (degenerates to a single face's center).
|
|
83
|
-
*/
|
|
84
26
|
export declare function selectedFaceCenter(faces: Face[], subject: Subject): Center | null;
|
|
85
|
-
/** Normalized distance beyond which adjacent centers are treated as a shot
|
|
86
|
-
* change (hard cut / new angle) and smoothing snaps instead of blending —
|
|
87
|
-
* mirror of reframe_bake.py `JUMP_THRESHOLD`. */
|
|
88
27
|
export declare const JUMP_THRESHOLD = 0.15;
|
|
89
|
-
/** Minimum fraction of a segment's frames in which an authored `face` subject
|
|
90
|
-
* must actually be tracked. Below this, deriveTrajectory FAILS LOUD instead of
|
|
91
|
-
* silently centering the crop — the authored identity isn't really in the clip
|
|
92
|
-
* (tracker ID fragmentation). A genuine subject is present for the large
|
|
93
|
-
* majority of frames it's framed over; 40% is a generous floor. */
|
|
94
28
|
export declare const MIN_SUBJECT_RESOLUTION = 0.4;
|
|
95
29
|
export declare function isJump(a: Center, b: Center): boolean;
|
|
96
|
-
/**
|
|
97
|
-
* Shot-aware EMA on per-frame centers. Forward-fill nulls with the last-known
|
|
98
|
-
* position, then a forward + backward EMA pass, where BOTH passes snap (no
|
|
99
|
-
* blend) ONLY across a detector-reported shot cut (`cutFrames`).
|
|
100
|
-
*
|
|
101
|
-
* Phase 1 (vcam): the `isJump`/`JUMP_THRESHOLD` inference is GONE as a cut
|
|
102
|
-
* signal. A center jump is NEVER inferred to be a cut — that inference was the
|
|
103
|
-
* false-cut snap (a ByteTrack detection-lag jiggle read as a new shot →
|
|
104
|
-
* teleport). Cuts come ONLY from `shotBoundaries`. `isJump`/`JUMP_THRESHOLD`
|
|
105
|
-
* remain exported (legacy consumers) but no longer drive smoothing here.
|
|
106
|
-
*
|
|
107
|
-
* Phase 3 (vcam): the `all-faces` CAMERA-CENTER smoothing is now the deadzone-
|
|
108
|
-
* inclusion + Hamming-window stage in `cameraPath` (the camera TRACKS a moving
|
|
109
|
-
* group). `emaSmooth` stays for the SEPARABLE non-center use — the per-subject
|
|
110
|
-
* `face_box_series` the floor reads (`perSubjectSeries`) — and for the
|
|
111
|
-
* UNCHANGED face/active-speaker/frame-center center path (byte-identical to the
|
|
112
|
-
* pre-Phase-3 behavior, the mode-isolation invariant). It is NOT used for the
|
|
113
|
-
* all-faces centers any more.
|
|
114
|
-
*/
|
|
115
30
|
export declare function emaSmooth(centers: (Center | null)[], alpha?: number, cutFrames?: ReadonlySet<number>): Center[];
|
|
116
|
-
/** Clamp to [0,1] — mirror of reframe_bake.py `_clip01`. */
|
|
117
31
|
export declare function clip01(v: number): number;
|
|
118
|
-
/** Bottom-band fraction the render keeps clear for captions per aspect.
|
|
119
|
-
* CAPTION_BAND_RESERVE is the SSOT in @cueframe/composition (imported above). */
|
|
120
32
|
export declare function captionBandReserve(aspect: string): number;
|
|
121
|
-
/** Output aspect as width/height (e.g. '9:16' → 0.5625). FAILS LOUD on a
|
|
122
|
-
* malformed aspect — a silent 9/16 default frames every non-vertical render
|
|
123
|
-
* vertically (no-fallbacks rule). Callers pass `composition.format.aspectRatio`,
|
|
124
|
-
* which the Composition validator constrains to a known enum, so a throw here
|
|
125
|
-
* is a genuine drift/bug, never a user-reachable path. */
|
|
126
33
|
export declare function aspectWhRatio(aspect: string): number;
|
|
127
|
-
/**
|
|
128
|
-
* The crop window size (source-normalized) for a given `zoom_scale` + output
|
|
129
|
-
* aspect — the bake half of the renderer's `computeCropTransform`: the largest
|
|
130
|
-
* output-aspect rect that fits the source, scaled by the zoom (clamped to
|
|
131
|
-
* [0.4,1.0] like `bakedZoom`). Shared so the cameraPath deadzone (output-crop
|
|
132
|
-
* units) can convert to the source-normalized geometry the regions live in.
|
|
133
|
-
*/
|
|
134
34
|
export declare function cropWindowSizeFor(srcW: number, srcH: number, zoomScale: number, aspect: string): {
|
|
135
35
|
w: number;
|
|
136
36
|
h: number;
|
|
137
37
|
};
|
|
138
|
-
/** Return the value at the largest key ≤ `key` (fallback to the smallest key
|
|
139
|
-
* when none precedes; null when empty) — mirror of `_nearest_kp_value`.
|
|
140
|
-
* per-keyframe-speaker is a Map<frameOffset, faceId>. */
|
|
141
38
|
export declare function nearestKpValue(d: Map<number, string>, key: number): string | null;
|
|
142
|
-
/** Contiguous [startFrame, endFrame) ranges where `faceId` is the active
|
|
143
|
-
* speaker; adjacent same-speaker spans merge — mirror of `_active_windows_for`.
|
|
144
|
-
* Each keyframe pick holds until the next keyframe (last → frameCount). */
|
|
145
39
|
export declare function activeWindowsFor(faceId: string, perKeyframeSpeaker: Map<number, string>, frameCount: number): Array<[number, number]>;
|
|
146
|
-
/**
|
|
147
|
-
* Build smoothed per-subject normalized face-box series + active windows from
|
|
148
|
-
* the tracker's per-frame `{faceId: [x1,y1,x2,y2]}` (pixel) output. Mirror of
|
|
149
|
-
* reframe_bake.py `_per_subject_series`: stable subject order = first
|
|
150
|
-
* appearance; centers + sizes EMA-smoothed (alpha 0.35) with the same shot-aware
|
|
151
|
-
* reset as the crop centers; frames with no tracked face stay null.
|
|
152
|
-
*/
|
|
153
40
|
export declare function perSubjectSeries(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, perKeyframeSpeaker: Map<number, string>, frameCount: number, cutFrames?: ReadonlySet<number>): TrajectorySubject[];
|
|
154
|
-
/** §22.1 target face-height fraction of the OUTPUT per editorial shot scale
|
|
155
|
-
* (mirror of reframe_bake.py `_SHOT_SCALE_TARGET`). */
|
|
156
|
-
/**
|
|
157
|
-
* §22.1 (Phase 4): calibrate ZOOM to the DETECTED face for an editorial shot
|
|
158
|
-
* scale. zoom = median(face_h_px)/fit_h / target, clamped [ZOOM_MIN, ZOOM_MAX].
|
|
159
|
-
* shotScale seeds ZOOM ONLY — verticalBias (headroom) is the agent's AUTHORED
|
|
160
|
-
* value, passed through verbatim; it is NEVER overridden here (the floor-vision
|
|
161
|
-
* fix). When the authored fields are omitted: zoom defaults to 1.0 (frame as-is)
|
|
162
|
-
* and headroom to 0 (dead-center, never auto-applied). Falls back to the authored
|
|
163
|
-
* zoom/bias when shotScale is unset or no face was detected.
|
|
164
|
-
*
|
|
165
|
-
* The target table + the clamp live in @cueframe/composition/reframe/shotScale —
|
|
166
|
-
* the SAME module the plan-time punch-in guard reads, so a shotScale the guard
|
|
167
|
-
* admitted and the zoom this bakes can never disagree. Do NOT re-declare them here.
|
|
168
|
-
*
|
|
169
|
-
* NOTE this honors whatever shotScale reaches it. Whether the punch-in was EARNED
|
|
170
|
-
* (is there room around the face? pixels to magnify?) is decided at the plan, by
|
|
171
|
-
* `punchInWarrant` in that same module. A shotScale arriving here that the warrant
|
|
172
|
-
* would refuse is a bug in the guard, not something to re-check.
|
|
173
|
-
*/
|
|
174
41
|
export declare function calibrateShotScale(shotScale: string | undefined | null, subjects: TrajectorySubject[], srcW: number, srcH: number, aspect: string, fallbackZoom: number | undefined, fallbackVbias: number | undefined, authoredSubject?: Subject): [number, number];
|
|
175
|
-
/**
|
|
176
|
-
* Derive ONE segment's per-frame crop centers + per-subject series from a
|
|
177
|
-
* segment-local slice of the cached track. Mirror of the STAGE B half of
|
|
178
|
-
* reframe_bake.py `_bake_segment` (steps 4–7): per-frame subject filter
|
|
179
|
-
* (active-speaker uses the nearest keyframe pick; otherwise largest/face-N) →
|
|
180
|
-
* shot-aware EMA (alpha 0.35) → holes land at [0.5,0.5] → per-subject series.
|
|
181
|
-
*/
|
|
182
42
|
export declare function deriveSegment(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, perKeyframeSpeaker: Map<number, string>, subject: Subject, cutFrames?: ReadonlySet<number>, fps?: number, aspect?: string, zoomScale?: number): {
|
|
183
43
|
centers: Center[];
|
|
184
44
|
subjects: TrajectorySubject[];
|
|
@@ -3,11 +3,5 @@ export interface EmphasisWord {
|
|
|
3
3
|
sourceStart: number;
|
|
4
4
|
sourceEnd: number;
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
7
|
-
* Build a Set keyed by "poolItemId:sourceStart" for O(1) emphasis lookups.
|
|
8
|
-
* sourceStart is rounded to 3 decimal places to handle floating-point drift
|
|
9
|
-
* between transcript sources and stored emphasis data.
|
|
10
|
-
*/
|
|
11
6
|
export declare function buildEmphasisSet(emphasisWords: EmphasisWord[]): Set<string>;
|
|
12
|
-
/** Check if a word (by poolItemId + sourceStart) is in the emphasis set. */
|
|
13
7
|
export declare function isEmphasized(set: Set<string>, poolItemId: string, sourceStart: number): boolean;
|
|
@@ -1,87 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reframe eval — the COMPOSED crop box per output frame.
|
|
3
|
-
*
|
|
4
|
-
* The eval target is the crop box the camera ACTUALLY lands on, in
|
|
5
|
-
* output-crop-normalized space — NOT the raw `centers`/`zoom_scale` of the
|
|
6
|
-
* trajectory JSON. Per the virtual-camera spec ("the composed (post-floor) crop
|
|
7
|
-
* is the eval target … zoom is two-layer"), the jitter / center-crop metrics
|
|
8
|
-
* sample the box `computeCropTransform` produces, so they measure what ships.
|
|
9
|
-
*
|
|
10
|
-
* Phase 0 samples the BASE camera path (the trajectory) — the floor yield is a
|
|
11
|
-
* separate, caption-driven layer with its own golden (Phase 4). The geometry
|
|
12
|
-
* below is the bake half of `computeCropTransform`
|
|
13
|
-
* (packages/execution/render-entry/src/CropFromTrajectory.tsx): crop-window size from
|
|
14
|
-
* `zoom_scale`, center from the per-frame `centers`, coverage-clamped so the
|
|
15
|
-
* window never runs past the source edge. We replicate it here (rather than
|
|
16
|
-
* import the renderer — execution must not depend on the Remotion bundle) and a
|
|
17
|
-
* test pins this replica against the renderer's published clamp behavior.
|
|
18
|
-
*
|
|
19
|
-
* Coordinate system: the crop box is expressed in SOURCE-NORMALIZED units —
|
|
20
|
-
* `cx,cy` ∈ [0,1] (window center vs source dims) and `w,h` ∈ [0,1] (window size
|
|
21
|
-
* as a fraction of the source). Frame-to-frame motion of THIS box is the camera
|
|
22
|
-
* motion; normalizing the per-component delta by the box's own size converts it
|
|
23
|
-
* to output-crop-normalized units (a half-window pan is the same number at any
|
|
24
|
-
* zoom — the zoom-invariant "held feel" the spec requires).
|
|
25
|
-
*/
|
|
26
1
|
import type { TrajectoryData, TrajectorySegment } from '../../../composition/reframe/trajectory.js';
|
|
27
|
-
/** The composed crop window for one output frame, source-normalized. */
|
|
28
2
|
export interface CropBox {
|
|
29
|
-
/** Window center x ∈ [0,1] vs source width (after the coverage clamp). */
|
|
30
3
|
cx: number;
|
|
31
|
-
/** Window center y ∈ [0,1] vs source height (after the coverage clamp). */
|
|
32
4
|
cy: number;
|
|
33
|
-
/** Window width as a fraction of the source width ∈ (0,1]. */
|
|
34
5
|
w: number;
|
|
35
|
-
/** Window height as a fraction of the source height ∈ (0,1]. */
|
|
36
6
|
h: number;
|
|
37
7
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Crop-window dimensions (source-normalized) for a given `zoom_scale` + output
|
|
40
|
-
* aspect — the bake half of `computeCropTransform`. The largest output-aspect
|
|
41
|
-
* rect that fits the source, scaled by the clamped zoom. No `faceScale` (the
|
|
42
|
-
* floor's caption-band yield) is applied here — Phase 0 samples the base path.
|
|
43
|
-
*/
|
|
44
8
|
export declare function cropWindowSize(srcW: number, srcH: number, zoomScale: number, aspect: string): {
|
|
45
9
|
w: number;
|
|
46
10
|
h: number;
|
|
47
11
|
};
|
|
48
|
-
/** The composed crop box for one frame of one segment. */
|
|
49
12
|
export declare function cropBoxForFrame(seg: TrajectorySegment, frameInSeg: number, srcW: number, srcH: number, aspect: string): CropBox;
|
|
50
|
-
/**
|
|
51
|
-
* Flatten a `TrajectoryData` to the per-output-frame composed crop-box series
|
|
52
|
-
* over all its segments, in order. This is the series the jitter metric walks.
|
|
53
|
-
*/
|
|
54
13
|
export declare function cropBoxSeries(traj: TrajectoryData): CropBox[];
|
|
55
|
-
/**
|
|
56
|
-
* The STATIC center-crop baseline a content-aware reframe MUST beat on
|
|
57
|
-
* smoothness: the same per-segment `zoom_scale` (so the only variable is WHERE
|
|
58
|
-
* the camera points), but the center pinned to source-center every frame
|
|
59
|
-
* (coverage-clamped, which for a centered window is a no-op). A static crop has
|
|
60
|
-
* zero pan jitter by construction — its only frame-to-frame motion is the
|
|
61
|
-
* per-shot `zoom_scale` steps the algorithm itself authors. The reframe is
|
|
62
|
-
* "adding jitter for nothing" if it cannot beat THIS.
|
|
63
|
-
*/
|
|
64
14
|
export declare function centerCropBoxSeries(traj: TrajectoryData): CropBox[];
|
|
65
|
-
/**
|
|
66
|
-
* The RAW subject-centroid path baseline (the research bar): the per-frame
|
|
67
|
-
* `centers` the algorithm computed, BEFORE any smoothing/deadzone, composed into
|
|
68
|
-
* a crop box at the same per-segment zoom. A reframe must be SMOOTHER than the
|
|
69
|
-
* path it is smoothing. Phase 0 cannot reconstruct the pre-EMA centroid from the
|
|
70
|
-
* shipped trajectory (it only carries the smoothed `centers`), so this is a
|
|
71
|
-
* scaffold that returns the shipped centers; Phase 3 wires the true raw path via
|
|
72
|
-
* `eval/inclusion` + `eval/index` (keeping `emaSmooth` importable, per the
|
|
73
|
-
* spec's characterization gate).
|
|
74
|
-
*/
|
|
75
15
|
export declare function rawCentroidBoxSeries(traj: TrajectoryData): CropBox[];
|
|
76
|
-
/**
|
|
77
|
-
* Compose an arbitrary per-frame `centers` series (e.g. the raw tracking
|
|
78
|
-
* centroid, or the same centroid through the OLD `emaSmooth`) into a crop-box
|
|
79
|
-
* series at a fixed per-frame crop window — the Phase-3 "smoother than EMA"
|
|
80
|
-
* characterization baseline. `cropFor(frame)` gives the source-normalized window
|
|
81
|
-
* for that output frame (the same the shipping path uses), so the ONLY variable
|
|
82
|
-
* between ours and the baseline is the smoother. Centers are coverage-clamped
|
|
83
|
-
* exactly as the renderer clamps them.
|
|
84
|
-
*/
|
|
85
16
|
export declare function cropBoxSeriesFromCenters(centers: Array<[number, number]>, cropFor: (frame: number) => {
|
|
86
17
|
w: number;
|
|
87
18
|
h: number;
|
|
@@ -1,50 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reframe eval — the INCLUSION metric (Phase 3 gate) + the shot-aware teleport
|
|
3
|
-
* and old-vs-new smoothness baselines.
|
|
4
|
-
*
|
|
5
|
-
* The Phase-2 gate (jitter ≤ center-crop) is the WRONG bar for a MOVING subject:
|
|
6
|
-
* a static center crop has jitter 0, but the subject walks out of frame. The
|
|
7
|
-
* camera that TRACKS the subject HAS motion (jitter > 0) and is CORRECT. So the
|
|
8
|
-
* Phase-3 gate is INCLUSION: the per-frame RequiredRegion (the padded subject/
|
|
9
|
-
* group box the crop must contain) must stay ⊆ the crop window. Our reframe must
|
|
10
|
-
* reach inclusionRate ≈ 1.0 on a moving subject (the camera tracks), and a
|
|
11
|
-
* static center-crop's inclusionRate must be materially LOWER (the subject walks
|
|
12
|
-
* out). See the virtual-camera spec, "Virtual-camera stability" + the Phase-3
|
|
13
|
-
* gate note.
|
|
14
|
-
*
|
|
15
|
-
* Pure, deterministic, no I/O. Replays the SAME `selectSubjectSet` +
|
|
16
|
-
* `regionsFromBoxes` the shipping all-faces derive uses, so the regions are
|
|
17
|
-
* EXACTLY the boxes the camera was obliged to contain.
|
|
18
|
-
*/
|
|
19
1
|
import type { SubjectTrack } from '../deriveTrajectory.js';
|
|
20
2
|
import type { CropBox } from './cropBox.js';
|
|
21
3
|
import { type RequiredRegion } from '../vcam/requiredRegion.js';
|
|
22
|
-
/** True iff the padded RequiredRegion is fully inside the crop box (the crop
|
|
23
|
-
* window contains the region — the subject stays in frame). */
|
|
24
4
|
export declare function regionInCrop(region: RequiredRegion, crop: CropBox): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* The per-frame RequiredRegions an `all-faces` camera was obliged to contain,
|
|
27
|
-
* over the WHOLE track window (one all-faces segment). Recomputes the shipping
|
|
28
|
-
* selection so the regions match the derive exactly. Null where no framed member
|
|
29
|
-
* is present (occlusion / gap) — those frames are EXCLUDED from inclusionRate
|
|
30
|
-
* (there's no subject to keep in frame).
|
|
31
|
-
*/
|
|
32
5
|
export declare function requiredRegionsForTrack(track: SubjectTrack): Array<RequiredRegion | null>;
|
|
33
|
-
/** The all-faces `inclusionRate` for a crop-box series vs the per-frame
|
|
34
|
-
* RequiredRegions: the fraction of REGION-BEARING frames whose region is fully
|
|
35
|
-
* inside the crop. `1.0` ⇒ the subject never walks out of frame. Frames with no
|
|
36
|
-
* region (no subject present) are not counted. */
|
|
37
6
|
export declare function inclusionRate(regions: Array<RequiredRegion | null>, crops: CropBox[]): {
|
|
38
7
|
rate: number;
|
|
39
8
|
framesWithRegion: number;
|
|
40
9
|
contained: number;
|
|
41
10
|
};
|
|
42
|
-
/**
|
|
43
|
-
* The largest per-frame center step measured WITHIN trajectory segments (one per
|
|
44
|
-
* sub-shot), in output-crop-normalized units. Steps ACROSS a segment boundary
|
|
45
|
-
* (a detector shot cut) are EXCLUDED — a camera snap at a real cut is intended
|
|
46
|
-
* (the only reset), so it is not a "teleport". An intra-shot maxStep above the
|
|
47
|
-
* bar is the chase/teleport the gate guards against. `segLens` are the per-
|
|
48
|
-
* segment frame counts (so the walk knows where the cut-snaps are).
|
|
49
|
-
*/
|
|
50
11
|
export declare function intraShotMaxStep(crops: CropBox[], segLens: number[]): number;
|