@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,50 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* READING A KEYFRAME CHANNEL.
|
|
3
|
-
*
|
|
4
|
-
* One interpolator, in the kernel, because three consumers need the same
|
|
5
|
-
* answer and any disagreement between them is visible as motion that differs
|
|
6
|
-
* between the editor preview, the still lane and the final render:
|
|
7
|
-
*
|
|
8
|
-
* - the editor, drawing a value at the playhead;
|
|
9
|
-
* - `render-entry`, computing the value for a frame;
|
|
10
|
-
* - the evaluator, which grades stills and must grade what ships.
|
|
11
|
-
*
|
|
12
|
-
* Everything here is pure: given a channel and a clip-relative time, produce a
|
|
13
|
-
* number. No clip lookup, no composition, no React.
|
|
14
|
-
*/
|
|
15
1
|
import type { Keyframe, KeyframeChannel } from "../validators/composition.js";
|
|
16
|
-
/** Named easings, as cubic-bezier control points. EXPORTED so the curve
|
|
17
|
-
* editor draws exactly what the interpolator evaluates — a UI restating these
|
|
18
|
-
* numbers is a curve that lies about the motion. */
|
|
19
2
|
export declare const EASING_CONTROL_POINTS: Record<string, readonly [number, number, number, number]>;
|
|
20
|
-
/**
|
|
21
|
-
* y at x for a cubic-bezier easing curve, x ∈ [0,1].
|
|
22
|
-
*
|
|
23
|
-
* Newton-Raphson with a bisection fallback — the standard approach, and the
|
|
24
|
-
* fallback matters: Newton diverges on the near-vertical segments that the
|
|
25
|
-
* overshoot presets (a "pop") deliberately have.
|
|
26
|
-
*/
|
|
27
3
|
export declare function bezierEasing(t: number, [x1, y1, x2, y2]: readonly [number, number, number, number]): number;
|
|
28
|
-
/** Channel sorted by time. Authoring order is not guaranteed to be time order. */
|
|
29
4
|
export declare function sortedChannel(channel: KeyframeChannel): Keyframe[];
|
|
30
|
-
/**
|
|
31
|
-
* The channel's value at `clipTime` (seconds from the clip's start).
|
|
32
|
-
*
|
|
33
|
-
* Holds flat outside the channel's range rather than extrapolating — a value
|
|
34
|
-
* invented beyond the last keyframe is a value nobody authored, and for
|
|
35
|
-
* opacity or scale it is the difference between a clean hold and a fade to
|
|
36
|
-
* something absurd.
|
|
37
|
-
*/
|
|
38
5
|
export declare function valueAt(channel: KeyframeChannel, clipTime: number): number;
|
|
39
|
-
/** True when this param is animated on this clip. */
|
|
40
6
|
export declare function isAnimated(animate: Record<string, KeyframeChannel> | undefined, param: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Re-time a channel for a clip whose window moved.
|
|
43
|
-
*
|
|
44
|
-
* The ONE case clip-relative time does not survive for free: trimming the head
|
|
45
|
-
* shifts every keyframe's origin. Keyframes that fall outside the new window
|
|
46
|
-
* are dropped rather than clamped — clamping would silently stack several onto
|
|
47
|
-
* the same instant, which is exactly the `varying_keyframe_duplicate_time`
|
|
48
|
-
* violation the invariants refuse.
|
|
49
|
-
*/
|
|
50
7
|
export declare function retimeChannel(channel: KeyframeChannel, headDelta: number, newDuration: number): Keyframe[];
|
|
@@ -1,35 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A/V LINK GROUPS.
|
|
3
|
-
*
|
|
4
|
-
* `linkGroupId` on a clip says only "these belong together". Everything a link
|
|
5
|
-
* MEANS lives here, and it lives in the kernel because both lanes edit
|
|
6
|
-
* compositions: a link rule the desktop honours and the cloud director does not
|
|
7
|
-
* is a composition the two lanes disagree about.
|
|
8
|
-
*
|
|
9
|
-
* The rule is one sentence: an operation that names one member of a group names
|
|
10
|
-
* all of them. Expansion therefore happens BETWEEN selection and every verb —
|
|
11
|
-
* not inside each verb — because a verb that has to remember to expand is a
|
|
12
|
-
* verb that will eventually forget, and the failure is silent: picture moves,
|
|
13
|
-
* sound does not, and the user discovers it at playback.
|
|
14
|
-
*/
|
|
15
1
|
import type { Composition } from "../validators/composition.js";
|
|
16
2
|
import type { TimelineEntity } from "./plan.js";
|
|
17
|
-
/** Every clip id sharing a group with any of `clipIds`, including the inputs. */
|
|
18
3
|
export declare function expandClipIdsToLinkGroups(composition: Pick<Composition, "tracks">, clipIds: Iterable<string>): string[];
|
|
19
|
-
/**
|
|
20
|
-
* Selection with every link partner pulled in.
|
|
21
|
-
*
|
|
22
|
-
* Non-clip entities pass through untouched — a keyframe is not linked to
|
|
23
|
-
* anything by this mechanism, and silently widening it would be worse than not
|
|
24
|
-
* handling it.
|
|
25
|
-
*/
|
|
26
4
|
export declare function expandToLinkGroup(composition: Pick<Composition, "tracks">, entities: readonly TimelineEntity[]): TimelineEntity[];
|
|
27
|
-
/** The other members of `clipId`'s group. Empty when it is unlinked. */
|
|
28
5
|
export declare function linkPartners(composition: Pick<Composition, "tracks">, clipId: string): string[];
|
|
29
|
-
/**
|
|
30
|
-
* Ids for a new group. Returned rather than assigned so the caller decides how
|
|
31
|
-
* the clips get updated — the kernel never mutates a composition.
|
|
32
|
-
*/
|
|
33
6
|
export declare function makeLinkGroup(clipIds: readonly string[], newGroupId: () => string): {
|
|
34
7
|
linkGroupId: string;
|
|
35
8
|
clipIds: readonly string[];
|
|
@@ -1,30 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WHAT A LANE IS ALREADY HOLDING.
|
|
3
|
-
*
|
|
4
|
-
* This is the half of placement that has nothing to do with pixels, gestures or
|
|
5
|
-
* React — "does this span collide with what is already on that track" — and it
|
|
6
|
-
* lives in the kernel for the same reason `clipPlacement.ts` does: both lanes
|
|
7
|
-
* write compositions, so a rule implemented in one lane is a rule the other
|
|
8
|
-
* lane does not have.
|
|
9
|
-
*
|
|
10
|
-
* The occupancy test itself was already correct in the desktop
|
|
11
|
-
* (`components/Timeline/fabric/placement.ts:spansFit`, half-open intervals so
|
|
12
|
-
* abutting clips are not a collision, tested). What was missing is that the
|
|
13
|
-
* clip-MOVE path never called it — `handlers/drag.ts` resolved a target track by
|
|
14
|
-
* raw Y hit-test and committed, so dragging a clip onto an occupied lane wrote
|
|
15
|
-
* an overlap that nothing downstream refused
|
|
16
|
-
* (brain: Issues/2026-08-23-clip-move-writes-overlaps-and-the-guard-never-runs).
|
|
17
|
-
*/
|
|
18
1
|
import type { Track } from "../validators/composition.js";
|
|
19
2
|
export type TrackKind = Track["kind"];
|
|
20
|
-
/** A clip's occupied span. Structurally typed so callers can pass any row shape. */
|
|
21
3
|
export interface PlacementSpan {
|
|
22
4
|
startTime: number;
|
|
23
5
|
duration: number;
|
|
24
|
-
/** Clips that must not count as collisions — typically the ones being moved. */
|
|
25
6
|
excludeClipIds?: readonly string[];
|
|
26
7
|
}
|
|
27
|
-
/** The minimum a track has to expose to be reasoned about. */
|
|
28
8
|
export interface PlacementTrack {
|
|
29
9
|
id: string;
|
|
30
10
|
kind: TrackKind;
|
|
@@ -34,35 +14,14 @@ export interface PlacementTrack {
|
|
|
34
14
|
duration: number;
|
|
35
15
|
}>;
|
|
36
16
|
}
|
|
37
|
-
/** Half-open overlap: `[aStart, aEnd)` against `[bStart, bEnd)`. */
|
|
38
17
|
export declare function spansOverlap(aStart: number, aDuration: number, bStart: number, bDuration: number): boolean;
|
|
39
|
-
/** A span fits when it overlaps nothing already on the track. */
|
|
40
18
|
export declare function spansFit(track: PlacementTrack, spans: readonly PlacementSpan[]): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Everything on `track` that this span would sit on top of, in start order.
|
|
43
|
-
* Returned rather than counted because the resolution strategies need to know
|
|
44
|
-
* WHICH clips collide and HOW — a clip fully covered by the incoming span is a
|
|
45
|
-
* different edit from one it merely clips the tail of.
|
|
46
|
-
*/
|
|
47
19
|
export declare function collidingClips(track: PlacementTrack, span: PlacementSpan): Array<{
|
|
48
20
|
id: string;
|
|
49
21
|
startTime: number;
|
|
50
22
|
duration: number;
|
|
51
23
|
}>;
|
|
52
|
-
|
|
53
|
-
* How an incoming span sits against one existing clip. Named because the
|
|
54
|
-
* resolution for each is different, and because "overlap" as a single word is
|
|
55
|
-
* what let a real defect hide: the drag path had no concept of degree.
|
|
56
|
-
*/
|
|
57
|
-
export type OverlapRelation =
|
|
58
|
-
/** The incoming span covers the existing clip entirely. */
|
|
59
|
-
"covers"
|
|
60
|
-
/** The incoming span starts inside and runs past the end. */
|
|
61
|
-
| "trims-tail"
|
|
62
|
-
/** The incoming span starts before and ends inside. */
|
|
63
|
-
| "trims-head"
|
|
64
|
-
/** The incoming span sits strictly inside the existing clip. */
|
|
65
|
-
| "engulfed-by";
|
|
24
|
+
export type OverlapRelation = "covers" | "trims-tail" | "trims-head" | "engulfed-by";
|
|
66
25
|
export declare function classifyOverlap(span: {
|
|
67
26
|
startTime: number;
|
|
68
27
|
duration: number;
|
|
@@ -1,44 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WHERE A SOURCE GOES.
|
|
3
|
-
*
|
|
4
|
-
* Hoisted from `apps/studio/src/components/Timeline/fabric/placement.ts` (2026-08-23)
|
|
5
|
-
* for the reason the module's own header predicted and the repo rule requires:
|
|
6
|
-
* the cloud director writes compositions too, so a placement rule that lives in
|
|
7
|
-
* the desktop is a rule the cloud does not have. This is now the single home.
|
|
8
|
-
*
|
|
9
|
-
* The vocabulary — strategy → resolve → a result that is either an existing
|
|
10
|
-
* track or an instruction to mint one at an index — is unchanged. What changed
|
|
11
|
-
* is that the DRAG path can reach it: previously the only caller was the media
|
|
12
|
-
* drop path, so two of the four strategies had never been constructed by
|
|
13
|
-
* production code at all.
|
|
14
|
-
*/
|
|
15
1
|
import { isSourceKindCompatible } from "../invariants/tracks.js";
|
|
16
2
|
import type { PlacementSpan, PlacementTrack, TrackKind } from "./occupancy.js";
|
|
17
3
|
import type { PlacementRefusal } from "./plan.js";
|
|
18
4
|
export type SourceKind = Parameters<typeof isSourceKindCompatible>[1];
|
|
19
|
-
|
|
20
|
-
export type PlacementStrategy =
|
|
21
|
-
/** The caller already knows the track (drop directly onto a lane). */
|
|
22
|
-
{
|
|
5
|
+
export type PlacementStrategy = {
|
|
23
6
|
type: "explicit";
|
|
24
7
|
trackId: string;
|
|
25
|
-
}
|
|
26
|
-
/** First compatible track with room; otherwise a new one. */
|
|
27
|
-
| {
|
|
8
|
+
} | {
|
|
28
9
|
type: "firstAvailable";
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Hovering a lane boundary. `hoverDirection` is which side of the hovered
|
|
32
|
-
* track the cursor sits on; a new track is inserted there when the hovered
|
|
33
|
-
* one cannot take the span.
|
|
34
|
-
*/
|
|
35
|
-
| {
|
|
10
|
+
} | {
|
|
36
11
|
type: "preferIndex";
|
|
37
12
|
trackIndex: number;
|
|
38
13
|
hoverDirection: "above" | "below";
|
|
39
|
-
}
|
|
40
|
-
/** Always mint a lane — the explicit "give it its own track" gesture. */
|
|
41
|
-
| {
|
|
14
|
+
} | {
|
|
42
15
|
type: "alwaysNew";
|
|
43
16
|
position: "highest" | "default";
|
|
44
17
|
};
|
|
@@ -47,9 +20,7 @@ export type PlacementResult = {
|
|
|
47
20
|
trackId: string;
|
|
48
21
|
trackIndex: number;
|
|
49
22
|
trackKind: TrackKind;
|
|
50
|
-
}
|
|
51
|
-
/** `insertIndex` is the index the new track takes in the track array. */
|
|
52
|
-
| {
|
|
23
|
+
} | {
|
|
53
24
|
kind: "newTrack";
|
|
54
25
|
insertIndex: number;
|
|
55
26
|
trackKind: TrackKind;
|
|
@@ -57,30 +28,12 @@ export type PlacementResult = {
|
|
|
57
28
|
kind: "refused";
|
|
58
29
|
reason: PlacementRefusal;
|
|
59
30
|
};
|
|
60
|
-
/** The track kind a source belongs on, or null when nothing accepts it. */
|
|
61
31
|
export declare function trackKindForSource(sourceKind: SourceKind): TrackKind | null;
|
|
62
32
|
export declare function resolvePlacement(args: {
|
|
63
33
|
tracks: readonly PlacementTrack[];
|
|
64
34
|
sourceKind: SourceKind;
|
|
65
|
-
/**
|
|
66
|
-
* The track FAMILY this clip belongs to, when the caller knows more than the
|
|
67
|
-
* source kind can say. `sourceKind: 'media'` is compatible with video, audio
|
|
68
|
-
* AND image tracks, so a pool drop routed by source kind alone lands every
|
|
69
|
-
* still and every song on a VIDEO track (`trackKindForSource` returns the
|
|
70
|
-
* first compatible kind). The renderer derives its element from `track.kind`,
|
|
71
|
-
* so that mis-route is wrong pixels, not a cosmetic. When set, this REPLACES
|
|
72
|
-
* the compatibility predicate: only tracks of exactly this kind take the
|
|
73
|
-
* clip, and a minted track is this kind.
|
|
74
|
-
*/
|
|
75
35
|
trackKind?: TrackKind;
|
|
76
36
|
spans: readonly PlacementSpan[];
|
|
77
37
|
strategy: PlacementStrategy;
|
|
78
|
-
/**
|
|
79
|
-
* When true, a compatible-but-occupied lane is still chosen — the caller
|
|
80
|
-
* intends to resolve the collision rather than route around it. The drop path
|
|
81
|
-
* routes around (it mints a sibling lane); the drag path resolves, because a
|
|
82
|
-
* user dragging a clip onto a busy lane means "put it there", not "put it
|
|
83
|
-
* somewhere near there".
|
|
84
|
-
*/
|
|
85
38
|
allowOccupied?: boolean;
|
|
86
39
|
}): PlacementResult;
|
|
@@ -1,27 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* THE PLAN VALUE.
|
|
3
|
-
*
|
|
4
|
-
* Every timeline gesture — drag, trim, drop, razor, paste — and every agent op
|
|
5
|
-
* resolves to one of these BEFORE anything mutates. The point is not elegance;
|
|
6
|
-
* it is that there stops being a code path from a pointer event to a clip write
|
|
7
|
-
* that skips the resolver, because the applier only accepts a plan and only the
|
|
8
|
-
* resolver produces one.
|
|
9
|
-
*
|
|
10
|
-
* The ops are deliberately shaped to the store verbs that already exist
|
|
11
|
-
* (`moveClipToTrack`, `updateClip`/`updateAudioClip`/`updateOverlay`,
|
|
12
|
-
* `removeClip`, `addClipToTrack`, `addTrack`) rather than to an abstract edit
|
|
13
|
-
* language. A plan that cannot be applied with the verbs we have is a plan that
|
|
14
|
-
* needs an interpreter, and an interpreter is how a second implementation of
|
|
15
|
-
* the composition rules gets written by accident.
|
|
16
|
-
*/
|
|
17
1
|
import type { TimelineClip } from "../validators/composition.js";
|
|
18
2
|
import type { TrackKind } from "./occupancy.js";
|
|
19
|
-
/**
|
|
20
|
-
* Anything on the timeline that can be addressed. Clips are not the only
|
|
21
|
-
* selectable thing once keyframes and transitions exist, and giving sub-items
|
|
22
|
-
* the same addressing as clips is what makes one selection model serve all of
|
|
23
|
-
* them.
|
|
24
|
-
*/
|
|
25
3
|
export type TimelineEntity = {
|
|
26
4
|
kind: "clip";
|
|
27
5
|
clipId: string;
|
|
@@ -38,10 +16,8 @@ export type TimelineEntity = {
|
|
|
38
16
|
markerId: string;
|
|
39
17
|
};
|
|
40
18
|
export declare const entityKey: (e: TimelineEntity) => string;
|
|
41
|
-
/** Every way a placement can fail, named. */
|
|
42
19
|
export type PlacementRefusal = "incompatible-track" | "track-not-found" | "no-compatible-track-kind" | "clip-not-found" | "occupied-and-unresolvable" | "zero-duration";
|
|
43
20
|
export declare function refusalText(reason: PlacementRefusal): string;
|
|
44
|
-
/** A refusal, and which entity it is about, so the UI can point at it. */
|
|
45
21
|
export interface RefusedPlacement {
|
|
46
22
|
reason: PlacementRefusal;
|
|
47
23
|
entity?: TimelineEntity;
|
|
@@ -50,60 +26,36 @@ export interface ClipPatch {
|
|
|
50
26
|
startTime?: number;
|
|
51
27
|
duration?: number;
|
|
52
28
|
source?: TimelineClip["source"];
|
|
53
|
-
/**
|
|
54
|
-
* Re-timed keyframe channels. Keyframe time is CLIP-RELATIVE, which survives
|
|
55
|
-
* a move for free — but a resolution that eats a clip's HEAD moves its origin,
|
|
56
|
-
* so every channel on it has to shift by the same amount or the motion the
|
|
57
|
-
* author placed drifts away from the frames it was placed against.
|
|
58
|
-
*/
|
|
59
29
|
animate?: TimelineClip["animate"];
|
|
60
30
|
}
|
|
61
|
-
export type TimelinePlanOp =
|
|
62
|
-
/** `moveClipToTrack(clipId, toTrackId, startTime)` */
|
|
63
|
-
{
|
|
31
|
+
export type TimelinePlanOp = {
|
|
64
32
|
op: "moveToTrack";
|
|
65
33
|
clipId: string;
|
|
66
34
|
toTrackId: string;
|
|
67
35
|
startTime: number;
|
|
68
|
-
}
|
|
69
|
-
/** The kind-appropriate `update*Clip(clipId, patch)` */
|
|
70
|
-
| {
|
|
36
|
+
} | {
|
|
71
37
|
op: "updateClip";
|
|
72
38
|
clipId: string;
|
|
73
39
|
trackKind: TrackKind;
|
|
74
40
|
patch: ClipPatch;
|
|
75
|
-
}
|
|
76
|
-
/** `removeClip(clipId)` */
|
|
77
|
-
| {
|
|
41
|
+
} | {
|
|
78
42
|
op: "removeClip";
|
|
79
43
|
clipId: string;
|
|
80
|
-
}
|
|
81
|
-
/** `addClipToTrack(trackId, clip)` — the tail half of a split */
|
|
82
|
-
| {
|
|
44
|
+
} | {
|
|
83
45
|
op: "insertClip";
|
|
84
46
|
trackId: string;
|
|
85
47
|
clip: TimelineClip;
|
|
86
|
-
}
|
|
87
|
-
/** `addTrack(kind, name, id)` then `reorderTracks` to land at `insertIndex` */
|
|
88
|
-
| {
|
|
48
|
+
} | {
|
|
89
49
|
op: "createTrack";
|
|
90
50
|
trackId: string;
|
|
91
51
|
kind: TrackKind;
|
|
92
52
|
insertIndex: number;
|
|
93
53
|
};
|
|
94
|
-
/**
|
|
95
|
-
* The whole outcome of a gesture. `resultingSelection` is part of the plan and
|
|
96
|
-
* not an afterthought: it is what the group-move path had no way to express, so
|
|
97
|
-
* a multi-clip move used to leave selection wherever Fabric happened to put it,
|
|
98
|
-
* and undo restored a selection that no longer described the edit.
|
|
99
|
-
*/
|
|
100
54
|
export interface TimelinePlan {
|
|
101
55
|
ops: TimelinePlanOp[];
|
|
102
56
|
resultingSelection: TimelineEntity[];
|
|
103
57
|
refusals: RefusedPlacement[];
|
|
104
|
-
/** Human-readable transaction label — becomes the undo entry's name. */
|
|
105
58
|
label: string;
|
|
106
59
|
}
|
|
107
60
|
export declare const emptyPlan: (label: string) => TimelinePlan;
|
|
108
|
-
/** A plan that changes nothing is not applied; the caller snaps the UI back. */
|
|
109
61
|
export declare const planIsNoop: (plan: TimelinePlan) => boolean;
|
|
@@ -1,55 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MAKING ROOM.
|
|
3
|
-
*
|
|
4
|
-
* When something lands on top of something else, an editor has to do one of
|
|
5
|
-
* four things, and the difference between them is the whole difference between
|
|
6
|
-
* "the app is a video editor" and "the app is a rectangle arranger":
|
|
7
|
-
*
|
|
8
|
-
* covers → the buried clip is gone; delete it
|
|
9
|
-
* trims-head → the buried clip loses its head; advance it, advance its trim
|
|
10
|
-
* trims-tail → the buried clip loses its tail; shorten it
|
|
11
|
-
* engulfed-by → the buried clip is cut in two; the incoming clip sits between
|
|
12
|
-
*
|
|
13
|
-
* The first version of the gate REFUSED an overlapping move instead. That kills
|
|
14
|
-
* the defect but ships a worse experience than the defect did: a drag that does
|
|
15
|
-
* nothing reads as broken software. Refusal survives only as the last branch —
|
|
16
|
-
* when there is genuinely no legal resolution.
|
|
17
|
-
*
|
|
18
|
-
* TRIM IS THE PART THAT IS EASY TO GET WRONG. Shortening a media clip's timeline
|
|
19
|
-
* span without moving its source window makes the picture jump: the frames that
|
|
20
|
-
* play are no longer the frames the editor saw. Every edit here carries the
|
|
21
|
-
* source window with it, playback-rate aware.
|
|
22
|
-
*/
|
|
23
1
|
import type { TimelineClip } from "../validators/composition.js";
|
|
24
2
|
import type { PlacementSpan, PlacementTrack, TrackKind } from "./occupancy.js";
|
|
25
3
|
import type { RefusedPlacement, TimelinePlanOp } from "./plan.js";
|
|
26
|
-
/** Timeline seconds below which a residue clip is not worth keeping. */
|
|
27
4
|
export declare const MIN_RESIDUE_SECONDS = 0.04;
|
|
28
5
|
export type OverlapPolicy = "resolve" | "refuse";
|
|
29
|
-
/**
|
|
30
|
-
* The source window for a sub-range of an existing clip.
|
|
31
|
-
*
|
|
32
|
-
* `newStartTime`/`newDuration` are TIMELINE values; the trim window is SOURCE
|
|
33
|
-
* values, so the delta is scaled by playbackRate. A clip with no trim window
|
|
34
|
-
* (overlays, cards, components) has nothing to carry and returns undefined.
|
|
35
|
-
*/
|
|
36
6
|
export declare function trimForSubRange(clip: Pick<TimelineClip, "startTime" | "source">, newStartTime: number, newDuration: number): TimelineClip["source"] | undefined;
|
|
37
7
|
export interface ResolveArgs {
|
|
38
8
|
track: PlacementTrack;
|
|
39
9
|
trackKind: TrackKind;
|
|
40
10
|
span: PlacementSpan;
|
|
41
11
|
policy: OverlapPolicy;
|
|
42
|
-
/** Full clip rows for the track, so trims can carry their source window. */
|
|
43
12
|
clipsById: ReadonlyMap<string, TimelineClip>;
|
|
44
|
-
/** Mints ids for the tail half of a split. Injected so the kernel stays pure. */
|
|
45
13
|
newClipId: () => string;
|
|
46
14
|
}
|
|
47
15
|
export interface ResolveResult {
|
|
48
16
|
ops: TimelinePlanOp[];
|
|
49
17
|
refusals: RefusedPlacement[];
|
|
50
18
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Ops that clear `span` on `track`. Emits nothing when the span already fits,
|
|
53
|
-
* which is the common case — resolution is the exception, not the rule.
|
|
54
|
-
*/
|
|
55
19
|
export declare function resolveOverlaps(args: ResolveArgs): ResolveResult;
|
|
@@ -1,54 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SLIP, ROLL and SLIDE — the three trims that are not "drag an edge".
|
|
3
|
-
*
|
|
4
|
-
* The trim classifier knew move / left-trim / right-trim and nothing else, so
|
|
5
|
-
* every correction that keeps something else fixed was impossible:
|
|
6
|
-
*
|
|
7
|
-
* SLIP the clip stays exactly where it is; the SOURCE WINDOW moves inside
|
|
8
|
-
* it. "Right beat, wrong framing" — the single most common correction
|
|
9
|
-
* in content-aware editing, and the one this timeline could not make.
|
|
10
|
-
*
|
|
11
|
-
* ROLL the CUT between two neighbours moves; both durations change and
|
|
12
|
-
* nothing after it shifts. Pacing, without re-timing the whole lane.
|
|
13
|
-
*
|
|
14
|
-
* SLIDE the clip MOVES and its neighbours absorb the difference; the clip's
|
|
15
|
-
* own content is untouched and total duration is unchanged.
|
|
16
|
-
*
|
|
17
|
-
* All three are computed here, as pure functions returning plan ops, for the
|
|
18
|
-
* same reason placement is: the cloud director edits compositions too, and a
|
|
19
|
-
* trim rule that lives in the desktop is a rule the cloud does not have.
|
|
20
|
-
*
|
|
21
|
-
* Each returns `null` when the gesture is not legal rather than clamping to
|
|
22
|
-
* something almost-right — a slip past the end of the source is not "a smaller
|
|
23
|
-
* slip", it is a slip that cannot happen, and silently doing something else is
|
|
24
|
-
* how an editor stops trusting the tool.
|
|
25
|
-
*/
|
|
26
1
|
import type { Composition } from "../validators/composition.js";
|
|
27
2
|
import type { TimelinePlan } from "./plan.js";
|
|
28
|
-
/**
|
|
29
|
-
* SLIP — shift the source window by `deltaSeconds` of TIMELINE time, leaving
|
|
30
|
-
* the clip's position and duration untouched.
|
|
31
|
-
*
|
|
32
|
-
* Refused when the clip has no source window (an overlay has nothing to slip)
|
|
33
|
-
* or when the shift would run off either end of the source. `sourceDuration`
|
|
34
|
-
* is required to police the far end — without it the far bound is unknowable
|
|
35
|
-
* and a "successful" slip could point past the end of the media.
|
|
36
|
-
*/
|
|
37
3
|
export declare function planSlip(composition: Pick<Composition, "tracks">, clipId: string, deltaSeconds: number, sourceDuration: number): TimelinePlan | null;
|
|
38
|
-
/**
|
|
39
|
-
* ROLL — move the cut between `clipId` and the neighbour on the given side.
|
|
40
|
-
*
|
|
41
|
-
* Both clips change duration; the outer edges and everything downstream stay
|
|
42
|
-
* put. Refused when either side would fall below the minimum, or when either
|
|
43
|
-
* side lacks the source to cover its new length.
|
|
44
|
-
*/
|
|
45
4
|
export declare function planRoll(composition: Pick<Composition, "tracks">, clipId: string, side: "left" | "right", deltaSeconds: number, sourceDurations: Readonly<Record<string, number>>): TimelinePlan | null;
|
|
46
|
-
/**
|
|
47
|
-
* SLIDE — move the clip in time; its neighbours absorb the difference.
|
|
48
|
-
*
|
|
49
|
-
* The clip's own content and duration are untouched; the previous clip grows
|
|
50
|
-
* or shrinks and the next one does the opposite, so nothing beyond the pair
|
|
51
|
-
* moves. Refused without neighbours on both sides — a slide with nothing to
|
|
52
|
-
* absorb into is just a move, and the caller should ask for that instead.
|
|
53
|
-
*/
|
|
54
5
|
export declare function planSlide(composition: Pick<Composition, "tracks">, clipId: string, deltaSeconds: number, sourceDurations: Readonly<Record<string, number>>): TimelinePlan | null;
|
|
@@ -19,10 +19,6 @@ export declare const EasingValue: z.ZodUnion<[z.ZodEnum<["linear", "ease", "ease
|
|
|
19
19
|
y2: number;
|
|
20
20
|
}>]>;
|
|
21
21
|
export type EasingValue = z.infer<typeof EasingValue>;
|
|
22
|
-
/** A palette reference (audio-substrate P2 AudioPaletteEntry.ref): a pack
|
|
23
|
-
* soundId | music-pack bedId | org mediaId — an opaque string placement handle.
|
|
24
|
-
* The brand SOUND kit fields (audio.sonicLogo / uiSoundSet / bedStyle /
|
|
25
|
-
* ambiencePreference) reference sounds by this same handle. */
|
|
26
22
|
export declare const AudioPaletteRef: z.ZodString;
|
|
27
23
|
export declare const FontRef: z.ZodUnion<[z.ZodObject<{
|
|
28
24
|
kind: z.ZodLiteral<"system">;
|
|
@@ -839,23 +835,10 @@ export declare const BrandKit: z.ZodObject<{
|
|
|
839
835
|
opacity?: number | undefined;
|
|
840
836
|
placement?: "tl" | "tr" | "bl" | "br" | undefined;
|
|
841
837
|
}>>;
|
|
842
|
-
/** Brand audio identity (audio design spec 2026-07-20): default SFX intensity
|
|
843
|
-
* + music-bed defaults. Brief `audio` wins when present (caption-identity
|
|
844
|
-
* precedence: brand default beats brief absence; brief beats brand).
|
|
845
|
-
*
|
|
846
|
-
* Brand SOUND kit (audio-substrate Phase 5) — identity over TIME. All four
|
|
847
|
-
* fields are OPTIONAL; a kit that sets none behaves byte-identically to a kit
|
|
848
|
-
* with no audio block. Refs are palette references (P2 AudioPaletteEntry.ref:
|
|
849
|
-
* a pack soundId | music-pack bedId | org mediaId — an opaque string handle). */
|
|
850
838
|
audio: z.ZodOptional<z.ZodObject<{
|
|
851
839
|
sfxIntensity: z.ZodOptional<z.ZodEnum<["off", "light", "standard", "dense"]>>;
|
|
852
840
|
musicEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
853
841
|
musicMood: z.ZodOptional<z.ZodString>;
|
|
854
|
-
/** SONIC LOGO — a brand audio signature bound to the intro/outro bookend at
|
|
855
|
-
* compose time (an sfx-role clip at the body edge adjacent to the render
|
|
856
|
-
* bookend). `ref` = a palette reference; `placement` = which bookend(s);
|
|
857
|
-
* `offsetMs` shifts within. Bound only when the corresponding bumper
|
|
858
|
-
* (kit.intro / kit.outro) exists — else a non-blocking advisory. */
|
|
859
842
|
sonicLogo: z.ZodOptional<z.ZodObject<{
|
|
860
843
|
ref: z.ZodString;
|
|
861
844
|
placement: z.ZodEnum<["intro", "outro", "both"]>;
|
|
@@ -869,10 +852,6 @@ export declare const BrandKit: z.ZodObject<{
|
|
|
869
852
|
ref: string;
|
|
870
853
|
offsetMs?: number | undefined;
|
|
871
854
|
}>>;
|
|
872
|
-
/** UI SOUND SET — per-family palette overrides consumed by the sfxCompile
|
|
873
|
-
* org-first draw as the HIGHEST-priority tier (brand > org palette > pack
|
|
874
|
-
* default), mirroring how a brand FONT sits above org defaults. Keys are the
|
|
875
|
-
* closed SfxFamily vocabulary; values are palette refs. */
|
|
876
855
|
uiSoundSet: z.ZodOptional<z.ZodObject<{
|
|
877
856
|
tick: z.ZodOptional<z.ZodString>;
|
|
878
857
|
pop: z.ZodOptional<z.ZodString>;
|
|
@@ -898,11 +877,6 @@ export declare const BrandKit: z.ZodObject<{
|
|
|
898
877
|
whoosh?: string | undefined;
|
|
899
878
|
riser?: string | undefined;
|
|
900
879
|
}>>;
|
|
901
|
-
/** BED STYLE — a preferred pack bed (`bedId`) or a style hint (`genre` /
|
|
902
|
-
* `bpmRange`). SURFACED-ONLY today (compose does not auto-select a pack bed
|
|
903
|
-
* — it uses a client-pinned bed or generates from mood); the field resolves
|
|
904
|
-
* through the kit + surfaces via get_profile / brand-kit reads so driving
|
|
905
|
-
* agents honor it when pinning / generating a bed. */
|
|
906
880
|
bedStyle: z.ZodOptional<z.ZodObject<{
|
|
907
881
|
bedId: z.ZodOptional<z.ZodString>;
|
|
908
882
|
genre: z.ZodOptional<z.ZodString>;
|
|
@@ -931,9 +905,6 @@ export declare const BrandKit: z.ZodObject<{
|
|
|
931
905
|
max: number;
|
|
932
906
|
} | undefined;
|
|
933
907
|
}>>;
|
|
934
|
-
/** AMBIENCE PREFERENCE — a preferred ambience bed (`{ref}`) or explicit
|
|
935
|
-
* `null` (opt-out). SURFACED-ONLY (compose has no ambience auto-placement);
|
|
936
|
-
* resolves + surfaces for driving agents. */
|
|
937
908
|
ambiencePreference: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
938
909
|
ref: z.ZodString;
|
|
939
910
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ComposePlan — the locked contract between the compose PLANNER and the
|
|
3
|
-
* ASSEMBLER (multi-agent director spec 2026-06-11). The plan mirrors the
|
|
4
|
-
* composition model: framing → cropIntents, cuts → delete_ranges/excludedRanges,
|
|
5
|
-
* captions → CompositionCaptions.style intent, assets → mediaId refs,
|
|
6
|
-
* graphics → overlay/component refs. Specialists fulfill assets/graphics
|
|
7
|
-
* requests; the assembler integrates and never re-plans.
|
|
8
|
-
*/
|
|
9
1
|
import { z } from "zod";
|
|
10
|
-
/** The planner's subject pick — WHO/WHAT the camera tracks on a `frame` beat.
|
|
11
|
-
* This is the PLANNER↔assembler contract shape (kept subject-centric so the
|
|
12
|
-
* Langfuse-managed planner prompt is unchanged); the assembler (compile.ts)
|
|
13
|
-
* maps it onto the canonical `Focus` of a `ReframeSegment`. Same variants as
|
|
14
|
-
* `Focus`: face / all-faces / frame-center / active-speaker / point. */
|
|
15
2
|
export declare const PlanSubject: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
16
3
|
kind: z.ZodLiteral<"face">;
|
|
17
4
|
faceId: z.ZodString;
|
|
@@ -53,16 +40,6 @@ export declare const PlanSubject: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
|
53
40
|
y: number;
|
|
54
41
|
}>]>;
|
|
55
42
|
export type PlanSubject = z.infer<typeof PlanSubject>;
|
|
56
|
-
/** One framing decision — three first-class intents so none is expressible
|
|
57
|
-
* only by misusing another (the 2026-07-12 verify-rerun planner read 'trim'
|
|
58
|
-
* as "keep un-cropped" and trimmed the whole clip; the vocabulary had no
|
|
59
|
-
* legal move for subject-less footage):
|
|
60
|
-
* - 'frame' — SHOW this span, cropped/tracked per `subject` (required).
|
|
61
|
-
* - 'keep' — SHOW this span AS-IS, no reframe (b-roll, landscapes, any
|
|
62
|
-
* footage with nothing to track). No subject.
|
|
63
|
-
* - 'trim' — DELETE this span from the output entirely.
|
|
64
|
-
* Downstream: 'frame' compiles to a crop intent; 'keep' compiles to nothing
|
|
65
|
-
* (shown uncropped); 'trim' compiles to an excluded range. */
|
|
66
43
|
export declare const PlanFramingSegment: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
67
44
|
startSec: z.ZodNumber;
|
|
68
45
|
endSec: z.ZodNumber;
|
|
@@ -110,7 +87,6 @@ export declare const PlanFramingSegment: z.ZodEffects<z.ZodEffects<z.ZodEffects<
|
|
|
110
87
|
shotScale: z.ZodOptional<z.ZodEnum<["close", "standard", "wide"]>>;
|
|
111
88
|
zoomScale: z.ZodOptional<z.ZodNumber>;
|
|
112
89
|
verticalBias: z.ZodOptional<z.ZodNumber>;
|
|
113
|
-
/** Optional in the plan; the assembler defaults it to 0 on set_crop_intents. */
|
|
114
90
|
lateralBias: z.ZodOptional<z.ZodNumber>;
|
|
115
91
|
intent: z.ZodOptional<z.ZodString>;
|
|
116
92
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -320,9 +296,6 @@ export declare const PlanAssetRequest: z.ZodObject<{
|
|
|
320
296
|
kind: z.ZodEnum<["broll", "audio", "sfx", "music", "ambience", "gif", "image"]>;
|
|
321
297
|
source: z.ZodEnum<["find", "generate"]>;
|
|
322
298
|
intent: z.ZodString;
|
|
323
|
-
/** Phase 1: the planner resolves `find` requests against the pool at plan
|
|
324
|
-
* time (it has search_library) and records the pick here. Unresolved find
|
|
325
|
-
* requests are stripped by the validator (degrade, not error). */
|
|
326
299
|
resolvedMediaId: z.ZodOptional<z.ZodString>;
|
|
327
300
|
}, "strip", z.ZodTypeAny, {
|
|
328
301
|
id: string;
|
|
@@ -342,14 +315,6 @@ export declare const PlanAssetRequest: z.ZodObject<{
|
|
|
342
315
|
resolvedMediaId?: string | undefined;
|
|
343
316
|
}>;
|
|
344
317
|
export type PlanAssetRequest = z.infer<typeof PlanAssetRequest>;
|
|
345
|
-
/**
|
|
346
|
-
* A first-class typed graphic the planner requests: a `role` (the editorial
|
|
347
|
-
* graphic type) + structured `copy` — NOT a coarse kind + freeform text. The
|
|
348
|
-
* designer phase reads these straight into a graphics-plan ContentBeat and
|
|
349
|
-
* compiles deterministically (no inference, no bespoke-JSX escape hatch).
|
|
350
|
-
* `role`/`copy` are the graphics-domain SSOT (graphics-plan/schemas); zPlane is
|
|
351
|
-
* implied by the role (`hero` → behind-subject) so it is not re-declared here.
|
|
352
|
-
*/
|
|
353
318
|
export declare const PlanGraphicRequest: z.ZodObject<{
|
|
354
319
|
id: z.ZodString;
|
|
355
320
|
atSec: z.ZodNumber;
|
|
@@ -494,7 +459,6 @@ export declare const ComposePlan: z.ZodObject<{
|
|
|
494
459
|
shotScale: z.ZodOptional<z.ZodEnum<["close", "standard", "wide"]>>;
|
|
495
460
|
zoomScale: z.ZodOptional<z.ZodNumber>;
|
|
496
461
|
verticalBias: z.ZodOptional<z.ZodNumber>;
|
|
497
|
-
/** Optional in the plan; the assembler defaults it to 0 on set_crop_intents. */
|
|
498
462
|
lateralBias: z.ZodOptional<z.ZodNumber>;
|
|
499
463
|
intent: z.ZodOptional<z.ZodString>;
|
|
500
464
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -709,9 +673,6 @@ export declare const ComposePlan: z.ZodObject<{
|
|
|
709
673
|
kind: z.ZodEnum<["broll", "audio", "sfx", "music", "ambience", "gif", "image"]>;
|
|
710
674
|
source: z.ZodEnum<["find", "generate"]>;
|
|
711
675
|
intent: z.ZodString;
|
|
712
|
-
/** Phase 1: the planner resolves `find` requests against the pool at plan
|
|
713
|
-
* time (it has search_library) and records the pick here. Unresolved find
|
|
714
|
-
* requests are stripped by the validator (degrade, not error). */
|
|
715
676
|
resolvedMediaId: z.ZodOptional<z.ZodString>;
|
|
716
677
|
}, "strip", z.ZodTypeAny, {
|
|
717
678
|
id: string;
|