@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,113 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/constants.ts — all virtual-camera selection params, in one place.
|
|
3
|
-
*
|
|
4
|
-
* Phase 2 (subject-of-interest selection). The deadzone / Hamming-window /
|
|
5
|
-
* zoom-fit params land alongside their modules in Phase 3/5; only the
|
|
6
|
-
* Phase-2 selection params live here today.
|
|
7
|
-
*
|
|
8
|
-
* Sizes are FRAME-HEIGHT fractions (a face box's height ÷ source height), the
|
|
9
|
-
* same units the detector emits. Persistence is a fraction of the shot's frames.
|
|
10
|
-
*/
|
|
11
|
-
/** Locked-set gate — drop a track iff
|
|
12
|
-
* `(persistence < P_MIN AND size_med < SIZE_DOMINANT) OR (size_med < SIZE_MIN)`.
|
|
13
|
-
* A transient small/brief face is dropped (can't re-weight anything); a
|
|
14
|
-
* DOMINANT late entrant (low persistence, large size) is KEPT — the flat
|
|
15
|
-
* `persistence < 0.5` gate would have silently dropped the intended subject. */
|
|
16
1
|
export declare const P_MIN = 0.5;
|
|
17
|
-
/** Minimum face-height fraction to survive the gate at all. */
|
|
18
2
|
export declare const SIZE_MIN = 0.06;
|
|
19
|
-
/** Face-height fraction at/above which a brief track is kept regardless of
|
|
20
|
-
* persistence (a dominant late entrant). */
|
|
21
3
|
export declare const SIZE_DOMINANT = 0.18;
|
|
22
|
-
/** Max members framed for `all-faces` (top-K by dominance). */
|
|
23
4
|
export declare const MAX_SUBJECTS = 3;
|
|
24
|
-
/** Dominance weights — `0.4·size + 0.2·centrality + 0.2·persistence + 0.2·speaking`.
|
|
25
|
-
* `speaking`/`centrality` feed dominance, NEVER the gate. */
|
|
26
5
|
export declare const DOMINANCE_WEIGHTS: {
|
|
27
6
|
readonly size: 0.4;
|
|
28
7
|
readonly centrality: 0.2;
|
|
29
8
|
readonly persistence: 0.2;
|
|
30
9
|
readonly speaking: 0.2;
|
|
31
10
|
};
|
|
32
|
-
/** Per-frame set-MEMBERSHIP hysteresis (in seconds; converted to frames with
|
|
33
|
-
* the source fps). The locked set is the candidate pool; whether a member is
|
|
34
|
-
* IN the framed region this frame is decided with add/drop hysteresis so a
|
|
35
|
-
* member flickering at the gate boundary doesn't toggle the framing. The
|
|
36
|
-
* deadzone (Phase 3) stabilizes PAN; hysteresis stabilizes set MEMBERSHIP. */
|
|
37
11
|
export declare const ENTER_SEC = 0.3;
|
|
38
12
|
export declare const LEAVE_SEC = 0.5;
|
|
39
|
-
/**
|
|
40
|
-
* Headroom pad added around a RequiredRegion's subject/group extent (a fraction
|
|
41
|
-
* of the SOURCE dimension), BEFORE the crop must contain it. This is the
|
|
42
|
-
* "frame the head, not just the box" margin — the region the crop is obliged to
|
|
43
|
-
* keep in view is the subject box grown by this much on every side. Source-
|
|
44
|
-
* normalized (the region geometry is source-normalized; the deadzone below is
|
|
45
|
-
* the output-crop-normalized hold band). ~6% of the source on each side gives a
|
|
46
|
-
* comfortable margin around a face/group without over-zooming.
|
|
47
|
-
*/
|
|
48
13
|
export declare const REGION_PAD = 0.06;
|
|
49
|
-
/**
|
|
50
|
-
* Deadzone inclusion gate (OUTPUT-CROP-NORMALIZED — a fraction of the crop
|
|
51
|
-
* WINDOW, the same units as the render's old `DEADZONE`). The camera HOLDS while
|
|
52
|
-
* the padded RequiredRegion stays inside the crop window shrunk by this margin
|
|
53
|
-
* on each side (the "safe region"); it only moves when the region would exit
|
|
54
|
-
* that safe region. Calibrated ≥ the render's old `DEADZONE=0.018` hold effect
|
|
55
|
-
* on a static head, so the relocated deadzone is no looser than before. 0.10 of
|
|
56
|
-
* the crop width is the spec's `REGION_PAD ≈ 0.10 of crop width` value — the
|
|
57
|
-
* band inside which subject motion demands ZERO camera motion (the locked feel).
|
|
58
|
-
*/
|
|
59
14
|
export declare const DEADZONE = 0.1;
|
|
60
|
-
/**
|
|
61
|
-
* Hamming smoothing window half-length, in SECONDS (converted to frames with the
|
|
62
|
-
* source fps; `round(0.5·fps)` ≈ 15 frames at 30fps). The single acausal
|
|
63
|
-
* Hamming-weighted mean over each shot run's deadzone-gated centers — replaces
|
|
64
|
-
* the old forward+backward EMA AND the render Gaussian. Clamped to the shot run
|
|
65
|
-
* (forward-fill at the start, window auto-shrinks near a shot boundary) so it
|
|
66
|
-
* never blends across a cut. A shorter window = snappier tracking; longer =
|
|
67
|
-
* more damped glide. 0.5s matches the spec.
|
|
68
|
-
*/
|
|
69
15
|
export declare const SMOOTH_WINDOW_SEC = 0.5;
|
|
70
|
-
/**
|
|
71
|
-
* Outlier-reject median-filter radius on the RequiredRegion series, in SECONDS
|
|
72
|
-
* (converted to frames with the source fps). A single-frame detector/ReID spike
|
|
73
|
-
* — the box teleporting across the frame for one frame, then snapping back —
|
|
74
|
-
* would yank the deadzone gate (the chase, re-skinned). A short median rejects
|
|
75
|
-
* it while tracking a clean multi-frame walk exactly (an order statistic, not a
|
|
76
|
-
* low-pass — lag-free on a monotone pan). ~0.12s (≈4 frames at 30fps, ≈7 at
|
|
77
|
-
* 60fps) outvotes a short multi-frame ReID swap without smearing a real walk.
|
|
78
|
-
*/
|
|
79
16
|
export declare const REGION_MEDIAN_SEC = 0.12;
|
|
80
|
-
/**
|
|
81
|
-
* Maximum per-frame camera-center move during the inclusion clamp, as a fraction
|
|
82
|
-
* of the CROP WINDOW per second (converted to source-units-per-frame with the
|
|
83
|
-
* crop size + fps). Sized GENEROUSLY: a real walking subject (≈3–5 crop-widths/s)
|
|
84
|
-
* tracks unthrottled, so the inclusion invariant holds frame-to-frame and the
|
|
85
|
-
* subject stays in frame (inclusionRate ≈ 1.0). The cap exists only to convert a
|
|
86
|
-
* single-frame TELEPORT — a detector ReID swap or a far re-emergence after a gap
|
|
87
|
-
* that would otherwise snap the camera a full frame-width in one frame — into a
|
|
88
|
-
* bounded ≤`cap/fps` step (the spec's "re-emergence glides over the window"; the
|
|
89
|
-
* parabolic re-acquire ease is the deferred L1 slot). At the cap the worst step
|
|
90
|
-
* is bounded well below the raw-centroid chase, while continuous tracking is
|
|
91
|
-
* unaffected. 8 crop-widths/sec ≈ 0.13 crop-widths/frame at 60fps.
|
|
92
|
-
*/
|
|
93
17
|
export declare const REACQUIRE_GLIDE_PER_SEC = 8;
|
|
94
|
-
/**
|
|
95
|
-
* The bake's crop-window zoom clamp, mirrored here so `fitZoom` produces a zoom
|
|
96
|
-
* inside the SAME envelope the renderer (`computeCropTransform` `bakedZoom`) and
|
|
97
|
-
* `cropWindowSizeFor` enforce. ZOOM_MAX = 1.0 is the widest honest frame (the
|
|
98
|
-
* largest source-fitting output-aspect rect — can't widen past the source);
|
|
99
|
-
* ZOOM_MIN = 0.4 is the tightest crop the bake allows. A fitting group is framed
|
|
100
|
-
* at the contained zoom clamped into [ZOOM_MIN, ZOOM_MAX]; an over-wide group
|
|
101
|
-
* pads-and-holds at ZOOM_MAX and is flagged `overframed`.
|
|
102
|
-
*/
|
|
103
18
|
export declare const ZOOM_MIN = 0.4;
|
|
104
19
|
export declare const ZOOM_MAX = 1;
|
|
105
|
-
/**
|
|
106
|
-
* Min-shot-length floor for ZOOM recalibration, in SECONDS (converted to frames
|
|
107
|
-
* with the source fps; round(0.4*fps) is ~12 frames at 30fps). A shot SHORTER
|
|
108
|
-
* than this inherits the PREVIOUS shot's zoom rather than recalibrating, so a
|
|
109
|
-
* sub-second montage (3-15-frame sub-shots, each independently zoom-fit) can't
|
|
110
|
-
* STROBE the zoom channel (the named regression risk this design introduces).
|
|
111
|
-
* Pan still resets at every cut - only the zoom is held; the floor is zoom-only.
|
|
112
|
-
*/
|
|
113
20
|
export declare const MIN_ZOOM_SHOT_FRAMES = 0.4;
|
|
@@ -1,30 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/errorCodes.ts — the virtual-camera error vocabulary, as VALUES.
|
|
3
|
-
*
|
|
4
|
-
* Every code the vcam layer can throw (now or in a later phase) is listed here
|
|
5
|
-
* as a literal value, and the registry-membership CI test
|
|
6
|
-
* (`__tests__/vcamErrorRegistry.test.ts`) imports THIS list and asserts each one
|
|
7
|
-
* exists in `@cueframe/errors`'s `ERROR_CODES`. Importing the codes as values
|
|
8
|
-
* (not grepping string literals) means a template/variable code can't slip past
|
|
9
|
-
* the gate — an unregistered code would make the CFERR decode fall back to
|
|
10
|
-
* `internal_error` and 500 (the `clip_source_track_mismatch` landmine).
|
|
11
|
-
*
|
|
12
|
-
* Phase 1 registers all of these in `packages/errors/src/registry.ts` even
|
|
13
|
-
* though some are thrown only in later phases (`subject_uncontainable`,
|
|
14
|
-
* `trajectory_internal_gap`, `clip_trajectory_merge_conflict`) — registered now
|
|
15
|
-
* so they can never 500 when the phase that throws them lands.
|
|
16
|
-
*
|
|
17
|
-
* `subject_not_tracked` is the EXISTING segment-level resolution gate (kept,
|
|
18
|
-
* registered already); it's listed so the membership test covers the full vcam
|
|
19
|
-
* throw surface in one place.
|
|
20
|
-
*
|
|
21
|
-
* NOT codes (documented emitted outcomes / legal inputs, never throws):
|
|
22
|
-
* - `overframed` — an emitted boolean OUTCOME on an `all-faces` segment whose
|
|
23
|
-
* group is wider than the aspect (the widest honest frame), NOT an error.
|
|
24
|
-
* - a legacy track with no `shotBoundaries` → ONE shot (no
|
|
25
|
-
* `shot_boundaries_missing` throw); an empty locked set → center-hold.
|
|
26
|
-
*/
|
|
27
|
-
/** The error codes the vcam (virtual-camera) layer is allowed to throw. Each
|
|
28
|
-
* MUST be a row in `@cueframe/errors` `ERROR_CODES` (asserted in CI). */
|
|
29
1
|
export declare const VCAM_ERROR_CODES: readonly ["subject_not_tracked", "subject_detection_failed_on_generated", "subject_uncontainable", "trajectory_internal_gap", "clip_trajectory_merge_conflict"];
|
|
30
2
|
export type VcamErrorCode = (typeof VCAM_ERROR_CODES)[number];
|
|
@@ -1,90 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/framing.ts — zoom-to-fit for ALL modes (Phase 5).
|
|
3
|
-
*
|
|
4
|
-
* Generalizes today's face-only `calibrateShotScale` (which sizes ZOOM to a
|
|
5
|
-
* single detected face's median height for an editorial `shotScale`) into a
|
|
6
|
-
* mode-agnostic `fitZoom` that sizes the crop to CONTAIN a locked subject set's
|
|
7
|
-
* union extent — the automatic fit the spec mandates (brain spec
|
|
8
|
-
* 2026-06-21-virtual-camera-reframe-design.md, "Framing & zoom-to-fit (ALL
|
|
9
|
-
* modes)" + RESOLVED #2 "automatic-fit only for the ship").
|
|
10
|
-
*
|
|
11
|
-
* The headline consumer is `all-faces`: today every all-faces segment ships at
|
|
12
|
-
* zoom 1.0 (the widest honest frame) because `calibrateShotScale` has no
|
|
13
|
-
* `shotScale` target for it and returns the fallback. A group that FITS 9:16 is
|
|
14
|
-
* then left with wasted margin instead of being framed tight. `fitZoom` sizes the
|
|
15
|
-
* crop to the group's union so a fitting group is zoom-fit (zoom < 1.0), while an
|
|
16
|
-
* over-wide group (members at opposite edges of a 16:9 frame) is the documented
|
|
17
|
-
* `overframed` outcome: pad-and-hold at zoom 1.0, emit the flag, NEVER silently
|
|
18
|
-
* clip a wing and NEVER auto-drop a member (the editorial drop/cut decision
|
|
19
|
-
* belongs to the driving agent — RESOLVED #1).
|
|
20
|
-
*
|
|
21
|
-
* Hold scope is explicit (resolves the per-frame-vs-per-shot contradiction):
|
|
22
|
-
* zoom re-fits PER SHOT (a punch-in at every detector cut), but WITHIN a shot the
|
|
23
|
-
* fit is sized ONCE over the shot-wide union extent and HELD — no per-frame
|
|
24
|
-
* breathing. A pre-pass here computes the shot-max union BEFORE the per-shot zoom
|
|
25
|
-
* split slices the series.
|
|
26
|
-
*
|
|
27
|
-
* Sub-second montage cuts are a named zoom-strobe regression risk (3–15-frame
|
|
28
|
-
* sub-shots each independently calibrated → strobe). Mitigation: a min-shot-
|
|
29
|
-
* length floor — a shot shorter than `MIN_ZOOM_SHOT_FRAMES` INHERITS the previous
|
|
30
|
-
* shot's zoom (pan still resets at the cut; pan is cameraPath's job). So a 1-frame
|
|
31
|
-
* shot can't spike the zoom channel.
|
|
32
|
-
*
|
|
33
|
-
* Pure, deterministic, no I/O. Boxes are source-normalized `[x1,y1,x2,y2]` ∈
|
|
34
|
-
* [0,1]; `pad` is a fraction of the source dimension (the SAME `REGION_PAD` the
|
|
35
|
-
* RequiredRegion uses, so the crop is sized to contain exactly the padded region
|
|
36
|
-
* the camera is obliged to keep in frame).
|
|
37
|
-
*/
|
|
38
1
|
import type { NormBox } from './subjectSet.js';
|
|
39
|
-
/** One shot's automatic-fit result. */
|
|
40
2
|
export interface ShotFit {
|
|
41
|
-
/** Source-normalized zoom_scale (the largest output-aspect rect that fits the
|
|
42
|
-
* source × this contains the shot-wide padded union), clamped [ZOOM_MIN,
|
|
43
|
-
* ZOOM_MAX]. */
|
|
44
3
|
zoom: number;
|
|
45
|
-
/** True iff the padded union is WIDER than the crop window at zoom 1.0 — the
|
|
46
|
-
* group cannot be contained at the output aspect, so the camera pads-and-holds
|
|
47
|
-
* at zoom 1.0 (the widest honest frame). An emitted authored outcome, surfaced
|
|
48
|
-
* to the agent; NOT an error and NOT a silent clip. */
|
|
49
4
|
overframed: boolean;
|
|
50
5
|
}
|
|
51
|
-
/**
|
|
52
|
-
* The shot-wide padded union extent of a per-frame box series, over `[start,
|
|
53
|
-
* end)`. The union of every present box in the shot, grown by `pad` on each side
|
|
54
|
-
* (clamped to [0,1]). Returns null when no box is present anywhere in the shot
|
|
55
|
-
* (the camera center-holds; there is nothing to fit). Source-normalized.
|
|
56
|
-
*/
|
|
57
6
|
export declare function shotUnionExtent(boxes: Array<NormBox | null>, start: number, end: number, pad?: number): {
|
|
58
7
|
w: number;
|
|
59
8
|
h: number;
|
|
60
9
|
} | null;
|
|
61
|
-
/**
|
|
62
|
-
* The automatic zoom-to-fit for ONE shot's union extent. Sizes the crop so the
|
|
63
|
-
* largest output-aspect rect that fits the source, scaled by this zoom, CONTAINS
|
|
64
|
-
* the padded union on BOTH axes. The crop window scales linearly with zoom
|
|
65
|
-
* (`cropWindowSizeFor`: `cropW *= zoom`), so the smallest zoom that contains a
|
|
66
|
-
* source-normalized union of size `(uw, uh)` is `max(uw/Wb, uh/Hb)` where
|
|
67
|
-
* `(Wb, Hb)` is the zoom-1.0 window.
|
|
68
|
-
*
|
|
69
|
-
* Fits (≤ 1.0) → that zoom, clamped to the floor. Doesn't fit (> 1.0 needed, the
|
|
70
|
-
* group is wider than the output aspect) → `overframed`, pad-and-hold at 1.0. A
|
|
71
|
-
* null/empty extent → no subject to fit → zoom 1.0, not overframed (center-hold).
|
|
72
|
-
*/
|
|
73
10
|
export declare function fitZoom(extent: {
|
|
74
11
|
w: number;
|
|
75
12
|
h: number;
|
|
76
13
|
} | null, srcW: number, srcH: number, aspect: string): ShotFit;
|
|
77
|
-
/**
|
|
78
|
-
* Per-shot automatic zoom-to-fit over a segment's per-frame union-box series.
|
|
79
|
-
* Computes the shot-wide union extent per shot, then `fitZoom`, applying the
|
|
80
|
-
* min-shot-length floor: a shot shorter than `MIN_ZOOM_SHOT_FRAMES` INHERITS the
|
|
81
|
-
* previous shot's fit (zoom + overframed) so a sub-second montage cut can't strobe
|
|
82
|
-
* the zoom channel; pan still resets at the cut (cameraPath owns pan). The first
|
|
83
|
-
* shot has no predecessor → it fits on its own extent regardless of length (a
|
|
84
|
-
* single short clip must still frame its subject).
|
|
85
|
-
*
|
|
86
|
-
* Returns one `ShotFit` per shot, in shot order — the same shot order
|
|
87
|
-
* `segmentShots(interiorCuts, segLen)` produces. The caller (deriveTrajectory)
|
|
88
|
-
* applies the per-shot zoom to the matching sub-shot it already slices.
|
|
89
|
-
*/
|
|
90
14
|
export declare function fitZoomPerShot(boxes: Array<NormBox | null>, interiorCuts: Iterable<number>, srcW: number, srcH: number, aspect: string, fps: number, segLen: number, pad?: number): ShotFit[];
|
|
@@ -1,85 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/requiredRegion.ts — every focus mode's per-frame target, lowered into a
|
|
3
|
-
* `RequiredRegion`: the SOURCE-NORMALIZED box the crop window MUST contain.
|
|
4
|
-
*
|
|
5
|
-
* Phase 3 of the virtual-camera redesign (brain spec
|
|
6
|
-
* 2026-06-21-virtual-camera-reframe-design.md, "Every focus mode lowers to a
|
|
7
|
-
* RequiredRegion" + "Virtual-camera stability"). A RequiredRegion is the padded
|
|
8
|
-
* subject/group extent (subject box + headroom pad). `cameraPath` then enforces
|
|
9
|
-
* the INCLUSION INVARIANT: the crop always contains the RequiredRegion ⇒ the
|
|
10
|
-
* subject can never walk out of frame.
|
|
11
|
-
*
|
|
12
|
-
* This is a REPRESENTATION, not a behavior change for the modes that already
|
|
13
|
-
* work: `face` lowers its single per-frame subject box; `point` a zero-size rect
|
|
14
|
-
* at the authored location; `frame-center` the center rect. Only `all-faces`
|
|
15
|
-
* gains tracking — its region is the per-frame framed-group union box from
|
|
16
|
-
* `subjectSet` (hysteresis-filtered), so the camera follows a moving group.
|
|
17
|
-
*
|
|
18
|
-
* Pure, deterministic, no I/O. All boxes are source-normalized `[x1,y1,x2,y2]`
|
|
19
|
-
* ∈ [0,1]; `REGION_PAD` is a fraction of the source dimension (the geometry is
|
|
20
|
-
* source-normalized — the deadzone in `cameraPath` is the output-crop-normalized
|
|
21
|
-
* hold band, a separate stage).
|
|
22
|
-
*/
|
|
23
1
|
import type { Center, NormBox } from './subjectSet.js';
|
|
24
|
-
/** The padded box the crop must contain, as a center+size — the unit the
|
|
25
|
-
* camera-path solver consumes. Source-normalized: `cx,cy` ∈ [0,1], `w,h` the
|
|
26
|
-
* fraction of the source the region spans (already padded). */
|
|
27
2
|
export interface RequiredRegion {
|
|
28
3
|
cx: number;
|
|
29
4
|
cy: number;
|
|
30
|
-
/** Padded region width as a fraction of source width. */
|
|
31
5
|
w: number;
|
|
32
|
-
/** Padded region height as a fraction of source height. */
|
|
33
6
|
h: number;
|
|
34
7
|
}
|
|
35
|
-
/** Pad a source-normalized box on every side by `pad` (clamped to [0,1]) and
|
|
36
|
-
* express it as a `RequiredRegion` (center + padded size). A zero-area box (a
|
|
37
|
-
* `point` target) yields a zero-size padded region at the point. */
|
|
38
8
|
export declare function padBox(box: NormBox, pad?: number): RequiredRegion;
|
|
39
|
-
/** A zero-size RequiredRegion at a single point (the `point` mode target, or any
|
|
40
|
-
* centroid-only target with no extent). Padded so a point still carries a small
|
|
41
|
-
* margin the crop must contain. */
|
|
42
9
|
export declare function pointRegion(c: Center, pad?: number): RequiredRegion;
|
|
43
|
-
/** The frame-center RequiredRegion — a zero-size region at source center. The
|
|
44
|
-
* crop centering on it is a no-op (the window is already centerable), so this
|
|
45
|
-
* preserves `frame-center`'s `[0.5,0.5]` behavior exactly. */
|
|
46
10
|
export declare function centerRegion(): RequiredRegion;
|
|
47
|
-
/**
|
|
48
|
-
* Lower a per-frame series of source-normalized union boxes (e.g. `all-faces`'s
|
|
49
|
-
* per-frame framed-group box from `subjectSet.perFrameBoxes`) into per-frame
|
|
50
|
-
* RequiredRegions. A null box (no framed member present — occlusion / gap) →
|
|
51
|
-
* null region; `cameraPath` forward-fills the last in-shot region across the
|
|
52
|
-
* gap (so the camera holds, not snaps to center, during a brief occlusion).
|
|
53
|
-
*/
|
|
54
11
|
export declare function regionsFromBoxes(boxes: Array<NormBox | null>, pad?: number): Array<RequiredRegion | null>;
|
|
55
|
-
/**
|
|
56
|
-
* Lower a per-frame series of centroid-only targets (the `face` /
|
|
57
|
-
* `active-speaker` per-frame center) into zero-size RequiredRegions. These modes
|
|
58
|
-
* carry a single subject point, not a measured box, in the crop-center path —
|
|
59
|
-
* lowering to a padded point keeps their framing (the camera points at the
|
|
60
|
-
* subject) while giving `cameraPath` a region to include. A null center (subject
|
|
61
|
-
* absent this frame) → null region (forward-filled by `cameraPath`).
|
|
62
|
-
*/
|
|
63
12
|
export declare function regionsFromCenters(centers: Array<Center | null>, pad?: number): Array<RequiredRegion | null>;
|
|
64
|
-
/**
|
|
65
|
-
* Outlier-robust median filter on a region series within a SHOT (radius `r`
|
|
66
|
-
* frames). Single-frame detector/ReID spikes — a crowd ReID flicker that
|
|
67
|
-
* teleports the box across the frame for one frame, then snaps back — would
|
|
68
|
-
* otherwise yank the camera (the chase, re-skinned). A short median on
|
|
69
|
-
* cx/cy/w/h rejects them while tracking a clean multi-frame walk (an order
|
|
70
|
-
* statistic, lag-free on a monotone pan). The window is clamped to the shot
|
|
71
|
-
* (never reads past a cut). Null entries are skipped in the window (a present
|
|
72
|
-
* spike isn't outvoted by absent frames). Identity for r < 1.
|
|
73
|
-
*/
|
|
74
13
|
export declare function medianFilterRegions(regions: Array<RequiredRegion | null>, r: number, shotStart: number, shotEnd: number): Array<RequiredRegion | null>;
|
|
75
|
-
/**
|
|
76
|
-
* Build the canonical per-frame RequiredRegions for an `all-faces` segment from
|
|
77
|
-
* the per-frame framed-group union boxes (`subjectSet.perFrameBoxes`): pad each
|
|
78
|
-
* box, then outlier-reject single-frame spikes per shot. This is THE region the
|
|
79
|
-
* camera is obliged to contain AND the region the eval measures inclusion
|
|
80
|
-
* against — one source of truth, so the gate is honest (the camera is judged on
|
|
81
|
-
* the same temporally-coherent region it frames). `interiorCuts` are the segment-
|
|
82
|
-
* local shot boundaries (median windows never cross a cut). `fps` sizes the
|
|
83
|
-
* median radius. Null boxes (occlusion) stay null (forward-filled by cameraPath).
|
|
84
|
-
*/
|
|
85
14
|
export declare function buildRequiredRegions(boxes: Array<NormBox | null>, fps: number, interiorCuts: Iterable<number>, pad?: number): Array<RequiredRegion | null>;
|
|
@@ -1,45 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/shots.ts — shot segmentation, the SOLE cut source.
|
|
3
|
-
*
|
|
4
|
-
* Phase 1 of the virtual-camera redesign (brain spec
|
|
5
|
-
* 2026-06-21-virtual-camera-reframe-design.md, "Shot/segment handling"):
|
|
6
|
-
* cuts come ONLY from the detector's `track.shotBoundaries` (HSV hard cuts),
|
|
7
|
-
* NEVER inferred from a face-center jump. The deleted `isJump`-as-cut inference
|
|
8
|
-
* is the false-cut snap (the 1.6-frame-widths/sec teleport) — structurally
|
|
9
|
-
* impossible once the only reset is a real detector boundary.
|
|
10
|
-
*
|
|
11
|
-
* Two scopes the selection math must NOT conflate:
|
|
12
|
-
* - **Identity scope = the authored segment** (cross-shot). A tracker id is
|
|
13
|
-
* stable within a shot; the same person is followed across cuts. The
|
|
14
|
-
* `MIN_SUBJECT_RESOLUTION` resolution gate lives at segment granularity.
|
|
15
|
-
* - **Camera re-lock scope = the shot.** The per-shot LOCKED subject set
|
|
16
|
-
* (quality gate) is computed per shot; deadzone / window / zoom-fit reset
|
|
17
|
-
* at a shot boundary (the latter two land in Phase 3/5).
|
|
18
|
-
*
|
|
19
|
-
* Pure, deterministic, no I/O. Inputs are already segment-local frame indices
|
|
20
|
-
* (the caller rebased the window-local `shotBoundaries` into segment offsets).
|
|
21
|
-
*/
|
|
22
|
-
/** A half-open shot range `[start, end)` in segment-local frame indices. */
|
|
23
1
|
export interface ShotRange {
|
|
24
|
-
/** First frame of the shot (segment-local, inclusive). */
|
|
25
2
|
start: number;
|
|
26
|
-
/** One past the last frame of the shot (segment-local, exclusive). */
|
|
27
3
|
end: number;
|
|
28
4
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Split `[0, segLen)` into shot ranges at the interior cut frames.
|
|
31
|
-
*
|
|
32
|
-
* `interiorCuts` are segment-local frame indices where a NEW shot begins — the
|
|
33
|
-
* SAME set `deriveTrajectory` already derives (`segCuts`: window-local
|
|
34
|
-
* `shotBoundaries` strictly inside the segment, rebased to segment offsets). A
|
|
35
|
-
* cut at frame `c` ends the prior shot at `c` and starts the next at `c`.
|
|
36
|
-
*
|
|
37
|
-
* Legacy tracks with no `shotBoundaries` → no interior cuts → ONE shot covering
|
|
38
|
-
* the whole segment (the safe hold). `shot_boundaries_missing` is NOT thrown —
|
|
39
|
-
* a one-shot segment is a legal, documented outcome, never a degrade.
|
|
40
|
-
*
|
|
41
|
-
* Out-of-range / duplicate / unsorted cuts are tolerated: cuts are sorted,
|
|
42
|
-
* deduped, and clamped to `(0, segLen)`; zero-length spans are dropped. A
|
|
43
|
-
* segment of length 0 yields no shots.
|
|
44
|
-
*/
|
|
45
5
|
export declare function segmentShots(interiorCuts: Iterable<number>, segLen: number): ShotRange[];
|
|
@@ -1,106 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vcam/subjectSet.ts — the CHASE KILLER (Phase 2).
|
|
3
|
-
*
|
|
4
|
-
* The `all-faces` failure is the per-frame area-weighted centroid of EVERY
|
|
5
|
-
* detected face: any transient face (a crowd extra, a ByteTrack fragment, a
|
|
6
|
-
* background head) yanks the centroid, so the camera ping-pongs (the "chase").
|
|
7
|
-
* This module selects a STABLE subject set and frames the GROUP smoothly,
|
|
8
|
-
* beating a static center crop on jitter — the headline behavioral fix.
|
|
9
|
-
*
|
|
10
|
-
* Mode-isolated: this is consulted ONLY for the `all-faces` path in
|
|
11
|
-
* `deriveSegment`. `face` / `point` / `frame-center` / `active-speaker` keep
|
|
12
|
-
* their existing selection verbatim.
|
|
13
|
-
*
|
|
14
|
-
* Pipeline (brain spec 2026-06-21-virtual-camera-reframe-design.md, "Subject-of
|
|
15
|
-
* -interest selection"):
|
|
16
|
-
* 1. Per-shot LOCKED subject set (quality gate) — size-aware drop, NOT a flat
|
|
17
|
-
* persistence gate, so a dominant late entrant is kept and a transient
|
|
18
|
-
* small face is dropped.
|
|
19
|
-
* 2. Identity scope = the authored SEGMENT: union the per-shot locked sets →
|
|
20
|
-
* the segment candidate pool; rank by segment-wide dominance; take top-K.
|
|
21
|
-
* 3. Per-frame set-MEMBERSHIP hysteresis over the pool (add/drop debounce) so
|
|
22
|
-
* a member flickering at the gate boundary doesn't toggle the framing.
|
|
23
|
-
* 4. Emit, PER FRAME, the area-weighted centroid + union bbox over the framed
|
|
24
|
-
* members PRESENT this frame. The centroid is the raw crop target; the box
|
|
25
|
-
* is the RequiredRegion source. Transient entries/exits can't yank the
|
|
26
|
-
* camera (they're gated out of the framed set), but the framed group's own
|
|
27
|
-
* motion IS followed — Phase 3's deadzone + Hamming window in `cameraPath`
|
|
28
|
-
* turn this per-frame target into a held-then-glide path, so a walking
|
|
29
|
-
* subject stays in frame (the camera tracks) without chasing micro-jitter.
|
|
30
|
-
* (Phase 2 held this target static, which kept a moving subject framed only
|
|
31
|
-
* while it stayed near the centroid; Phase 3 lets the hold glide to re-
|
|
32
|
-
* contain the subject when it walks.)
|
|
33
|
-
*
|
|
34
|
-
* The per-subject `face_box_series` the floor reads is produced UNCHANGED by
|
|
35
|
-
* `perSubjectSeries` — this module only chooses WHERE the camera points.
|
|
36
|
-
*/
|
|
37
1
|
import type { FaceBox } from '../../../perception/index.js';
|
|
38
|
-
/** A normalized crop center `[cx, cy]` in [0,1] vs source dims. */
|
|
39
2
|
export type Center = [number, number];
|
|
40
|
-
/** A source-normalized axis-aligned box `[x1, y1, x2, y2]` ∈ [0,1]. */
|
|
41
3
|
export type NormBox = [number, number, number, number];
|
|
42
|
-
/** The selection result for one segment's `all-faces` path. */
|
|
43
4
|
export interface SubjectSetResult {
|
|
44
|
-
/** Per-frame crop target (the basis for `centers`). For `all-faces` this is
|
|
45
|
-
* the per-frame framed-group centroid — the basis Phase 3's cameraPath
|
|
46
|
-
* smooths into a tracking glide. (Phase 2 held it static; Phase 3 lets the
|
|
47
|
-
* camera follow a walking subject because this now varies per frame.) */
|
|
48
5
|
centers: Center[];
|
|
49
|
-
/** Per-frame UNION bbox of the framed members PRESENT this frame (after the
|
|
50
|
-
* membership hysteresis), source-normalized `[x1,y1,x2,y2]`, or null when no
|
|
51
|
-
* framed member is present (occlusion / between-shot gap). This is the
|
|
52
|
-
* RequiredRegion source: Phase 3 lowers it to the padded box the crop must
|
|
53
|
-
* contain so the subject can never walk out of frame. */
|
|
54
6
|
perFrameBoxes: Array<NormBox | null>;
|
|
55
|
-
/** The tracker ids chosen as the framed set (top-K by dominance). For
|
|
56
|
-
* diagnostics / the per-subject floor series (which is produced separately
|
|
57
|
-
* but lists the SAME framed ids). Empty when no face survives the gate. */
|
|
58
7
|
framedIds: string[];
|
|
59
|
-
/** How many frames the framed set was present in (≥1 member) — feeds the
|
|
60
|
-
* segment-level resolution accounting (so `all-faces` on a faceless clip
|
|
61
|
-
* center-holds, the documented outcome, rather than throwing). */
|
|
62
8
|
resolvedFrames: number;
|
|
63
9
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Select the stable subject set for an `all-faces` segment and emit the per-
|
|
66
|
-
* frame crop target. Pure over the segment-local slice.
|
|
67
|
-
*
|
|
68
|
-
* Empty locked set (no face survives the gate — a faceless / crowd-only clip) →
|
|
69
|
-
* center-hold (`[0.5,0.5]` every frame), a DEFINED outcome, never a throw
|
|
70
|
-
* (per spec fail-loud invariants).
|
|
71
|
-
*/
|
|
72
10
|
export declare function selectSubjectSet(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, fps: number, perKeyframeSpeaker: Map<number, string>, interiorCuts: Iterable<number>): SubjectSetResult;
|
|
73
|
-
/** How the single chosen subject is resolved per frame. `authoredFaceId` is the
|
|
74
|
-
* agent's `face` pick (a `face-N` id); `null` means active-speaker (resolve via
|
|
75
|
-
* the per-keyframe speaker, then degrade to the largest face). */
|
|
76
11
|
export type SingleSubjectPick = {
|
|
77
12
|
kind: 'face';
|
|
78
13
|
authoredFaceId: string;
|
|
79
14
|
} | {
|
|
80
15
|
kind: 'active-speaker';
|
|
81
16
|
};
|
|
82
|
-
/** The per-frame chosen-subject box series for a `topK=1` segment (face /
|
|
83
|
-
* active-speaker). The box is the chosen subject's source-normalized extent
|
|
84
|
-
* `[x1,y1,x2,y2]`, or null when the chosen subject is absent this frame
|
|
85
|
-
* (occlusion / between-shot gap) — `cameraPath` forward-fills the last in-shot
|
|
86
|
-
* region across a brief gap and center-holds a shot with no subject at all. */
|
|
87
17
|
export interface SingleSubjectResult {
|
|
88
|
-
/** Per-frame chosen-subject box (source-normalized) or null when absent. */
|
|
89
18
|
perFrameBoxes: Array<NormBox | null>;
|
|
90
|
-
/** How many frames the chosen subject was actually resolved (a non-null box) —
|
|
91
|
-
* feeds the `MIN_SUBJECT_RESOLUTION` fail-loud gate for an authored `face`. */
|
|
92
19
|
resolvedFrames: number;
|
|
93
20
|
}
|
|
94
|
-
/**
|
|
95
|
-
* The `topK=1` subjects adapter for `face` / `active-speaker`. Per frame, resolve
|
|
96
|
-
* the single chosen subject and emit its source-normalized box. Pure over the
|
|
97
|
-
* segment-local slice.
|
|
98
|
-
*
|
|
99
|
-
* - `face` (authored id): the box of that STABLE tracker id this frame; absent →
|
|
100
|
-
* null (no silent snap to a different person — the roster rule). The empty /
|
|
101
|
-
* non-`face-` sentinel id resolves to the largest face (legacy callers).
|
|
102
|
-
* - `active-speaker`: the box of the per-keyframe speaker pick when tracked this
|
|
103
|
-
* frame; otherwise the largest face this frame (the ASD degrade, mirror of
|
|
104
|
-
* `deriveSegment`'s active-speaker path).
|
|
105
|
-
*/
|
|
106
21
|
export declare function selectSingleSubjectBoxes(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, perKeyframeSpeaker: Map<number, string>, pick: SingleSubjectPick, nearestSpeaker: (frame: number) => string | null): SingleSubjectResult;
|
|
@@ -1,27 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* select/errorCodes.ts — the Selector error vocabulary, as VALUES.
|
|
3
|
-
*
|
|
4
|
-
* Every code the Selector core / adapters / lowerings can throw (now or in a
|
|
5
|
-
* later phase) is listed here as a literal value, and the registry-membership CI
|
|
6
|
-
* test (`__tests__/selectorErrorRegistry.test.ts`) imports THIS list and asserts
|
|
7
|
-
* each exists in `@cueframe/errors`'s `ERROR_CODES`. Importing the codes as VALUES
|
|
8
|
-
* (not grepping literals) means a template/variable code can't slip past — an
|
|
9
|
-
* unregistered code would make the CFERR decode fall back to `internal_error` and
|
|
10
|
-
* 500 (the `clip_source_track_mismatch` landmine).
|
|
11
|
-
*
|
|
12
|
-
* Phase 1 (this phase) registers all of these even though only the CORE codes
|
|
13
|
-
* (`selector_signal_absent`, `selector_override_conflict`) are thrown today; the
|
|
14
|
-
* adapter/lowering codes (`selector_timebase_undefined`, `selector_group_unsynced`,
|
|
15
|
-
* `selector_segment_out_of_media`) are thrown by the Phase-2 switch adapters and
|
|
16
|
-
* are registered now so they can never 500 when that phase lands. Phase 3
|
|
17
|
-
* (active-speaker) adds `selector_speaking_double_count` — the structural double-
|
|
18
|
-
* count guard (§11-L5): weighting both `activeSpeaker` and `speaking` fails loud.
|
|
19
|
-
* Phase 6 (cross-source identity) adds `selector_identity_detector_version_mismatch`
|
|
20
|
-
* — a `lockPersonId` match over a STALE-detector-version embedding fails loud (the
|
|
21
|
-
* 3-stamp lesson: a person-lock cosine over embeddings from a different
|
|
22
|
-
* `DETECTOR_VERSION` than the reference is meaningless; refuse rather than guess).
|
|
23
|
-
*/
|
|
24
|
-
/** The error codes the Selector layer is allowed to throw. Each MUST be a row in
|
|
25
|
-
* `@cueframe/errors` `ERROR_CODES` (asserted in CI). */
|
|
26
1
|
export declare const SELECTOR_ERROR_CODES: readonly ["selector_signal_absent", "selector_override_conflict", "selector_timebase_undefined", "selector_group_unsynced", "selector_segment_out_of_media", "selector_speaking_double_count", "selector_identity_detector_version_mismatch"];
|
|
27
2
|
export type SelectorErrorCode = (typeof SELECTOR_ERROR_CODES)[number];
|
|
@@ -1,27 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @cueframe/core/select — the durable Selector core (selector-abstraction spec).
|
|
3
|
-
*
|
|
4
|
-
* The candidate-agnostic data model + the ~40-line `select()` scoring contract +
|
|
5
|
-
* the per-kind `stabilize` seam. Reframe is its first instance (the subjects
|
|
6
|
-
* adapter lives in `render/vcam/subjectSet.ts`, which calls `scoreAndRank` +
|
|
7
|
-
* `stabilizeSelectionHysteresis` and lowers via the sealed `cameraPath`).
|
|
8
|
-
*
|
|
9
|
-
* Switch (Phase 2) is the second instance — same core, new candidate adapter +
|
|
10
|
-
* the incumbent-challenger/presence-gate stabilizers + the cut/overlay lowering.
|
|
11
|
-
*/
|
|
12
1
|
export type { SignalKey, Signal, CandidateSignals, Candidate, CandidateTimebase, CoreCandidate, WhenClause, EligibilityClause, SelectorRule, OverrideSpan, SelectorPolicy, Chosen, CandidateScore, PacingNote, SelectorSegment, Advisory, } from './model.js';
|
|
13
2
|
export { HOLD } from './model.js';
|
|
14
3
|
export { select, scoreAndRank, type SelectOptions } from './select.js';
|
|
15
4
|
export { stabilizeSelectionHysteresis, stabilizeIncumbentChallenger, stabilizePresenceGate, cameraPath, type StabilizerKind, type SelectionHysteresisParams, type SelectionHysteresisResult, type IncumbentChallengerParams, type IncumbentChallengerResult, type SuppressedSwitch, type PresenceGateParams, type PresenceWindow, type CropWindow, } from './stabilize.js';
|
|
16
5
|
export { SELECTOR_ERROR_CODES, type SelectorErrorCode } from './errorCodes.js';
|
|
17
|
-
/** The default prominence weights — vcam's `DOMINANCE_WEIGHTS`, re-exported as the
|
|
18
|
-
* canonical "dominant-subject" `policy.weights` for the SCORE combinator. The
|
|
19
|
-
* switch instance's video-on-prominence path uses these directly (spec §9.1 P2 —
|
|
20
|
-
* "video-switch on prominence = vcam dominance, exists"); reframe uses the same
|
|
21
|
-
* constant. Re-exporting it here keeps the scoring default in the select surface.
|
|
22
|
-
* (This import is in index.ts, NOT select.ts — the rot-guard scans select.ts.) */
|
|
23
6
|
export { DOMINANCE_WEIGHTS } from '../render/vcam/constants.js';
|
|
24
|
-
/** The Selector engine version (spec §8). DISTINCT from BAKE_VERSION (the crop
|
|
25
|
-
* lowering stamp) and the per-signal stamps. Bump when the scoring/stabilizer
|
|
26
|
-
* math changes in a way that changes the Advisory for fixed inputs. */
|
|
27
7
|
export declare const SELECTOR_VERSION = "selector-core-v1-2026.06.21";
|