@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,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* select/select.ts — THE durable Selector core (~40 lines of selection logic).
|
|
3
|
-
*
|
|
4
|
-
* `select(candidates, policy, opts) → Advisory`: a candidate-agnostic
|
|
5
|
-
* `score → stabilize-selection → advise` contract (selector-abstraction spec
|
|
6
|
-
* §1.4). It is the generalization of vcam's `dominance()` ranking (§2): a
|
|
7
|
-
* weighted-sum combinator + an eligibility-gate predicate + topK membership + a
|
|
8
|
-
* first-class `__hold__`/abstain + the override ladder + reasons surfacing.
|
|
9
|
-
*
|
|
10
|
-
* THE ROT-GUARD (spec §8, the most important invariant): this module reads ONLY
|
|
11
|
-
* `CoreCandidate.id`, `CandidateSignals[*].value/confidence`, and `policy` — it
|
|
12
|
-
* NEVER references `Candidate.kind`, `Candidate.timebase`, or any geometry. It is
|
|
13
|
-
* typed against `CoreCandidate` (id + signals), NOT the full `Candidate`, so the
|
|
14
|
-
* adapter MUST do the projection and the core STRUCTURALLY cannot branch on kind.
|
|
15
|
-
* A structural test (`__tests__/rotGuard.test.ts`) asserts this module imports no
|
|
16
|
-
* geometry/kind types and references none of those fields.
|
|
17
|
-
*
|
|
18
|
-
* The selection STABILIZER (continuity over time) is NOT here — it is a per-kind
|
|
19
|
-
* seam (`stabilize.ts`): `select()` produces the per-moment scored advisory; the
|
|
20
|
-
* stabilizer (selection-hysteresis | geometric-deadzone | …) is dispatched per
|
|
21
|
-
* kind by the adapter. This split is L1 of the spec, stated honestly.
|
|
22
|
-
*
|
|
23
|
-
* Pure, deterministic. No I/O, no Date.now, no Map-order reads in the math.
|
|
24
|
-
*/
|
|
25
|
-
import { CueframeError, encodeError } from '@cueframe/errors';
|
|
26
|
-
import { HOLD } from './model';
|
|
27
|
-
/** Throw a registered fail-loud error (no silent fallback —
|
|
28
|
-
* `feedback_never_add_fallbacks`). */
|
|
29
|
-
function fail(code, message, fix) {
|
|
30
|
-
throw new Error(encodeError(new CueframeError(code, message, fix)));
|
|
31
|
-
}
|
|
32
|
-
/** Does a candidate's signal envelope satisfy a single clause at this moment?
|
|
33
|
-
* Geometry-free: reads `signal value ≥ gte` and (adapter-projected) role match.
|
|
34
|
-
* `role`/`topicMatches` are matched against a projected `roleTag` the adapter
|
|
35
|
-
* folds into a synthetic signal — the core itself never reads `Candidate.role`. */
|
|
36
|
-
function clauseHolds(sig, clause) {
|
|
37
|
-
if (clause.signal !== undefined) {
|
|
38
|
-
const s = sig[clause.signal];
|
|
39
|
-
if (s === undefined)
|
|
40
|
-
return false;
|
|
41
|
-
if (clause.gte !== undefined && s.value < clause.gte)
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
/** AND-of-clauses (eligibility) / a rule's `when` (all = AND, any = OR). */
|
|
47
|
-
function whenHolds(sig, when) {
|
|
48
|
-
const all = when.all ?? [];
|
|
49
|
-
const any = when.any ?? [];
|
|
50
|
-
if (all.length > 0 && !all.every((c) => clauseHolds(sig, c)))
|
|
51
|
-
return false;
|
|
52
|
-
if (any.length > 0 && !any.some((c) => clauseHolds(sig, c)))
|
|
53
|
-
return false;
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
/** The per-moment weighted score `Σ_k weights[k]·signal[k].value·confidence`,
|
|
57
|
-
* with each weighted term recorded for legibility. The weight-key iteration
|
|
58
|
-
* order is the CALLER'S (adapter-supplied) order — for the reframe instance the
|
|
59
|
-
* subjects adapter supplies `{size,centrality,persistence,speaking}` in exactly
|
|
60
|
-
* vcam's `dominance()` order, so the float sum is byte-identical (the byte-
|
|
61
|
-
* equivalence acceptance bar). */
|
|
62
|
-
function scoreCandidate(id, sig, weightKeys, weights, ruleBoost) {
|
|
63
|
-
const contributions = {};
|
|
64
|
-
let score = 0;
|
|
65
|
-
for (const k of weightKeys) {
|
|
66
|
-
const w = weights[k];
|
|
67
|
-
const s = sig[k];
|
|
68
|
-
// A weight over an ALL-ABSENT signal is fail-loud upstream (preflight); here
|
|
69
|
-
// an absent signal at a single moment contributes 0 (the candidate simply
|
|
70
|
-
// isn't measured on that axis this tick), NOT a silent default for the whole
|
|
71
|
-
// run.
|
|
72
|
-
const v = s ? s.value * (s.confidence ?? 1) : 0;
|
|
73
|
-
const term = w * v;
|
|
74
|
-
contributions[k] = term;
|
|
75
|
-
score += term;
|
|
76
|
-
}
|
|
77
|
-
score += ruleBoost;
|
|
78
|
-
return { candidateId: id, score, contributions };
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* The core selection over an already-aligned grid. Produces a per-TICK scored
|
|
82
|
-
* advisory (one `SelectorSegment` per tick, tiling the timeline). The per-kind
|
|
83
|
-
* stabilizer (`stabilize.ts`) then coalesces ticks under hysteresis/deadzone and
|
|
84
|
-
* surfaces holds — this function is the SCORE half only.
|
|
85
|
-
*
|
|
86
|
-
* Override ladder (spec §1.4 step 1, ONE ordered evaluation):
|
|
87
|
-
* tier 0 overrides[] (hard span pin) > tier 1 lock* > tier 2 force rule >
|
|
88
|
-
* tier 3 weighted score + eligibility + floor/__hold__.
|
|
89
|
-
* A SAME-TIER conflict (two overlapping overrides, or two firing force rules at
|
|
90
|
-
* one tick) FAILS LOUD (`selector_override_conflict` — the Gap.strict() lesson).
|
|
91
|
-
*/
|
|
92
|
-
export function select(candidates, policy, opts) {
|
|
93
|
-
const { dtSec, ticks } = opts;
|
|
94
|
-
const ids = candidates.map((c) => c.id);
|
|
95
|
-
const idSet = new Set(ids);
|
|
96
|
-
// Preflight: a weighted signal that is ABSENT for EVERY candidate at EVERY tick
|
|
97
|
-
// is fail-loud (a weight that can never contribute — the agent mis-wired the
|
|
98
|
-
// policy). This is the spec's `selector_signal_absent` (§1.2/§8).
|
|
99
|
-
const weightKeys = Object.keys(policy.weights).filter((k) => (policy.weights[k] ?? 0) > 0);
|
|
100
|
-
for (const k of weightKeys) {
|
|
101
|
-
let measured = false;
|
|
102
|
-
for (const c of candidates) {
|
|
103
|
-
for (const env of c.signals)
|
|
104
|
-
if (env[k] !== undefined) {
|
|
105
|
-
measured = true;
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
if (measured)
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
if (!measured) {
|
|
112
|
-
fail('selector_signal_absent', `weight on signal '${k}' but no candidate measures it at any moment`, { signal: k });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// Validate override/lock ids exist (unknown id REJECTED, never remapped).
|
|
116
|
-
for (const o of policy.overrides ?? []) {
|
|
117
|
-
if (!idSet.has(o.candidateId))
|
|
118
|
-
fail('selector_override_conflict', `override candidateId '${o.candidateId}' not in roster`, { candidateId: o.candidateId });
|
|
119
|
-
}
|
|
120
|
-
const rules = policy.rules ?? [];
|
|
121
|
-
const eligibility = policy.eligibility ?? [];
|
|
122
|
-
const floor = policy.floor ?? {};
|
|
123
|
-
const segments = new Array(ticks);
|
|
124
|
-
for (let t = 0; t < ticks; t++) {
|
|
125
|
-
const startSec = t * dtSec;
|
|
126
|
-
const endSec = (t + 1) * dtSec;
|
|
127
|
-
const tSec = startSec; // a span is "covered" by an override iff its start is inside
|
|
128
|
-
// ── Tier 0: hard span overrides (fail loud on same-tier overlap). ──────────
|
|
129
|
-
const hits = (policy.overrides ?? []).filter((o) => tSec >= o.startSec && tSec < o.endSec);
|
|
130
|
-
if (hits.length > 1) {
|
|
131
|
-
fail('selector_override_conflict', `two overlapping overrides at ${tSec}s: ${hits.map((h) => h.candidateId).join(', ')}`, { atSec: tSec });
|
|
132
|
-
}
|
|
133
|
-
if (hits.length === 1) {
|
|
134
|
-
segments[t] = pinned(startSec, endSec, hits[0].candidateId, 'override', 'override span');
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
// ── Tier 1: lock (camera/candidate pin). ───────────────────────────────────
|
|
138
|
-
if (policy.lockSourceId && idSet.has(policy.lockSourceId)) {
|
|
139
|
-
segments[t] = pinned(startSec, endSec, policy.lockSourceId, 'lock', `locked to '${policy.lockSourceId}'`);
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
// ── Tier 3 prep: eligibility filter + rule boosts (geometry-free). ─────────
|
|
143
|
-
const sigAt = (c) => c.signals[t] ?? {};
|
|
144
|
-
const eligible = candidates.filter((c) => eligibility.length === 0 || eligibility.every((cl) => clauseHolds(sigAt(c), cl)));
|
|
145
|
-
const ruleBoostFor = (c) => {
|
|
146
|
-
let boost = 0;
|
|
147
|
-
const forces = [];
|
|
148
|
-
for (const r of rules) {
|
|
149
|
-
const fires = whenHolds(sigAt(c), r.when) && rulePrefers(r, c.id);
|
|
150
|
-
if (!fires)
|
|
151
|
-
continue;
|
|
152
|
-
if (r.then.force)
|
|
153
|
-
forces.push(r);
|
|
154
|
-
boost += r.then.boost ?? 0.3;
|
|
155
|
-
}
|
|
156
|
-
return { boost, forces };
|
|
157
|
-
};
|
|
158
|
-
// ── Tier 2: force rules (fail loud on two distinct forced candidates). ─────
|
|
159
|
-
const forcedIds = new Set();
|
|
160
|
-
for (const c of eligible) {
|
|
161
|
-
const { forces } = ruleBoostFor(c);
|
|
162
|
-
if (forces.length > 0)
|
|
163
|
-
forcedIds.add(c.id);
|
|
164
|
-
}
|
|
165
|
-
if (forcedIds.size > 1) {
|
|
166
|
-
fail('selector_override_conflict', `two force rules elect different candidates at ${tSec}s: ${[...forcedIds].join(', ')}`, { atSec: tSec });
|
|
167
|
-
}
|
|
168
|
-
if (forcedIds.size === 1) {
|
|
169
|
-
const fid = [...forcedIds][0];
|
|
170
|
-
const scored = scoreAll(eligible, sigAt, weightKeys, policy.weights, ruleBoostFor);
|
|
171
|
-
segments[t] = { startSec, endSec, chosen: fid, alsoChosen: [], perCandidateScores: scored, reasons: [`force rule → '${fid}'`], pacingNote: 'rule' };
|
|
172
|
-
continue;
|
|
173
|
-
}
|
|
174
|
-
// ── Tier 3: weighted score + floor/__hold__ + topK membership. ─────────────
|
|
175
|
-
const scored = scoreAll(eligible, sigAt, weightKeys, policy.weights, ruleBoostFor);
|
|
176
|
-
// Floor: if no eligible candidate has ANY contributing signal at/above its
|
|
177
|
-
// floor, elect __hold__ (abstain — forcing a pick on nothing is autopilot
|
|
178
|
-
// bias, G8). A candidate clears the floor iff every floored signal it has is
|
|
179
|
-
// ≥ its floor AND at least one floored signal is present (an empty floor →
|
|
180
|
-
// never holds, the reframe default).
|
|
181
|
-
const floorKeys = Object.keys(floor);
|
|
182
|
-
const anyAboveFloor = floorKeys.length === 0 ||
|
|
183
|
-
eligible.some((c) => {
|
|
184
|
-
const sig = sigAt(c);
|
|
185
|
-
return floorKeys.some((k) => sig[k] !== undefined && sig[k].value >= (floor[k] ?? 0));
|
|
186
|
-
});
|
|
187
|
-
if (eligible.length === 0 || !anyAboveFloor) {
|
|
188
|
-
segments[t] = { startSec, endSec, chosen: HOLD, alsoChosen: [], perCandidateScores: scored, reasons: floorKeys.length && eligible.length ? ['no candidate above floor'] : ['no eligible candidate'], pacingNote: 'hold' };
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
// topK membership: the top-K by score (stable id tiebreak — deterministic).
|
|
192
|
-
const k = Math.max(1, policy.topK);
|
|
193
|
-
const top = scored.slice(0, k);
|
|
194
|
-
segments[t] = {
|
|
195
|
-
startSec,
|
|
196
|
-
endSec,
|
|
197
|
-
chosen: top[0].candidateId,
|
|
198
|
-
alsoChosen: top.slice(1).map((s) => s.candidateId),
|
|
199
|
-
perCandidateScores: scored,
|
|
200
|
-
reasons: [`argmax score ${top[0].score.toFixed(4)}`],
|
|
201
|
-
pacingNote: 'argmax',
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
return segments;
|
|
205
|
-
}
|
|
206
|
-
function pinned(startSec, endSec, id, note, reason) {
|
|
207
|
-
return { startSec, endSec, chosen: id, alsoChosen: [], perCandidateScores: [], reasons: [reason], pacingNote: note };
|
|
208
|
-
}
|
|
209
|
-
function rulePrefers(r, id) {
|
|
210
|
-
// A rule with no preference target applies to all candidates; a targeted rule
|
|
211
|
-
// applies only to its candidate (role-targeting is folded by the adapter).
|
|
212
|
-
if (r.then.preferCandidateId !== undefined)
|
|
213
|
-
return r.then.preferCandidateId === id;
|
|
214
|
-
return true;
|
|
215
|
-
}
|
|
216
|
-
function scoreAll(cands, sigAt, weightKeys, weights, ruleBoostFor) {
|
|
217
|
-
const scored = cands.map((c) => scoreCandidate(c.id, sigAt(c), weightKeys, weights, ruleBoostFor(c).boost));
|
|
218
|
-
return sortScores(scored);
|
|
219
|
-
}
|
|
220
|
-
/** Sort desc by score, then stable id tiebreak — the EXACT vcam `dominance`
|
|
221
|
-
* ranking tiebreak (byte-equivalence-preserving for the reframe pool ranking). */
|
|
222
|
-
function sortScores(scored) {
|
|
223
|
-
scored.sort((a, b) => {
|
|
224
|
-
if (b.score !== a.score)
|
|
225
|
-
return b.score - a.score;
|
|
226
|
-
return a.candidateId < b.candidateId ? -1 : a.candidateId > b.candidateId ? 1 : 0;
|
|
227
|
-
});
|
|
228
|
-
return scored;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* The shared scoring COMBINATOR as a pure ONE-SHOT ranking primitive — the
|
|
232
|
-
* durable `Σ weights·signal` win (spec §2). Both the per-tick `select()` (switch)
|
|
233
|
-
* and the reframe's segment-wide pool ranking call this, so there is ONE scoring
|
|
234
|
-
* implementation. `weightKeys` is the CALLER's iteration order: the reframe
|
|
235
|
-
* subjects adapter passes `{size,centrality,persistence,speaking}` in vcam's
|
|
236
|
-
* `DOMINANCE_WEIGHTS` order, so the float sum is byte-identical to `dominance()`.
|
|
237
|
-
*
|
|
238
|
-
* Reads ONLY `id` + `signals.value/confidence` + `weights` — the rot-guard holds.
|
|
239
|
-
*/
|
|
240
|
-
export function scoreAndRank(candidates, weights) {
|
|
241
|
-
const weightKeys = Object.keys(weights);
|
|
242
|
-
const scored = candidates.map((c) => scoreCandidate(c.id, c.signals, weightKeys, weights, 0));
|
|
243
|
-
return sortScores(scored);
|
|
244
|
-
}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* select/stabilize.ts — the continuity/selection STABILIZER seam (spec §1.4 step
|
|
3
|
-
* 4 + L1). The scoring (`select.ts`) generalizes cleanly; the stabilizer does
|
|
4
|
-
* NOT — it is THREE kinds behind ONE `stabilize(kind, …)` seam, dispatched per
|
|
5
|
-
* kind by the adapter. This is the honest "build a small fixed set of per-kind
|
|
6
|
-
* stabilizers," not "one function" (L1; the prior draft's "selection-hysteresis
|
|
7
|
-
* generalizes verbatim" claim is retracted).
|
|
8
|
-
*
|
|
9
|
-
* Phase 1 implements the two kinds reframe needs:
|
|
10
|
-
* - `selection-hysteresis` — the per-id set-MEMBERSHIP state machine (the
|
|
11
|
-
* `topK>1` reframe stabilizer), lifted VERBATIM from `vcam/subjectSet.ts`
|
|
12
|
-
* (`inset`/`presRun`/`absRun` + the short-clip `usedFallback` bypass). Pure;
|
|
13
|
-
* byte-equivalence-preserving.
|
|
14
|
-
* - `geometric-deadzone` — `vcam/cameraPath.ts`, lifted VERBATIM and SEALED
|
|
15
|
-
* (deadzone inclusion invariant + Hamming + glide cap). Re-exported, NEVER
|
|
16
|
-
* altered — perturbing its math risks the shipped `inclusionRate ≈ 1.0` (L1).
|
|
17
|
-
*
|
|
18
|
-
* Phase 2 (switch) adds `incumbent-challenger` (topK=1 + switchMargin — NEW code,
|
|
19
|
-
* vcam has no incumbent concept) and `presence-gate` (overlay binary show/hide).
|
|
20
|
-
* Their seams are declared here so the dispatch shape is fixed; they fail loud
|
|
21
|
-
* until built (no silent stub — `feedback_never_add_fallbacks`).
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* The per-id set-MEMBERSHIP hysteresis state machine — the `topK>1` selection
|
|
25
|
-
* stabilizer (spec §1.4 step 4; §2 maps it as CORE for reframe's membership).
|
|
26
|
-
* Lifted VERBATIM from `vcam/subjectSet.ts:306-343`: each member enters after
|
|
27
|
-
* `enterFrames` consecutive present frames and leaves after `leaveFrames` absent
|
|
28
|
-
* frames — independent per-id booleans. A member is FRAMED this frame iff it is
|
|
29
|
-
* IN the set AND present this frame.
|
|
30
|
-
*
|
|
31
|
-
* `usedFallback` is the short-segment bypass: a segment that ends before any
|
|
32
|
-
* member clears the ENTER debounce uses the static framed set (so a brief clip
|
|
33
|
-
* with a clear dominant subject is still framed, never center-held — the spec's
|
|
34
|
-
* `minSegmentForHysteresis` bypass).
|
|
35
|
-
*
|
|
36
|
-
* Pure. Byte-identical to the inline vcam logic — `framedIds` order drives the
|
|
37
|
-
* per-frame `here` order, so the adapter must pass ids in dominance order.
|
|
38
|
-
*/
|
|
39
|
-
export function stabilizeSelectionHysteresis(framedIds, presence, n, params) {
|
|
40
|
-
const { enterFrames, leaveFrames } = params;
|
|
41
|
-
const everIn = new Set();
|
|
42
|
-
const inset = new Map(framedIds.map((id) => [id, false]));
|
|
43
|
-
const presRun = new Map(framedIds.map((id) => [id, 0]));
|
|
44
|
-
const absRun = new Map(framedIds.map((id) => [id, 0]));
|
|
45
|
-
const inThisFrame = new Array(n);
|
|
46
|
-
for (let i = 0; i < n; i++) {
|
|
47
|
-
const here = [];
|
|
48
|
-
for (const id of framedIds) {
|
|
49
|
-
if (presence(id, i)) {
|
|
50
|
-
presRun.set(id, presRun.get(id) + 1);
|
|
51
|
-
absRun.set(id, 0);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
absRun.set(id, absRun.get(id) + 1);
|
|
55
|
-
presRun.set(id, 0);
|
|
56
|
-
}
|
|
57
|
-
if (!inset.get(id) && presRun.get(id) >= enterFrames)
|
|
58
|
-
inset.set(id, true);
|
|
59
|
-
if (inset.get(id) && absRun.get(id) >= leaveFrames)
|
|
60
|
-
inset.set(id, false);
|
|
61
|
-
if (inset.get(id) && presence(id, i)) {
|
|
62
|
-
here.push(id);
|
|
63
|
-
everIn.add(id);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
inThisFrame[i] = here;
|
|
67
|
-
}
|
|
68
|
-
return { everIn, inThisFrame, usedFallback: everIn.size === 0 };
|
|
69
|
-
}
|
|
70
|
-
// ── geometric-deadzone (Phase 1) ─────────────────────────────────────────────
|
|
71
|
-
// `cameraPath` is the geometric-deadzone continuity stabilizer, lifted VERBATIM
|
|
72
|
-
// and SEALED. It is NOT re-implemented here — it is re-exported from its sealed
|
|
73
|
-
// home so the dispatch surface names it without touching its math.
|
|
74
|
-
export { cameraPath } from '../render/vcam/cameraPath';
|
|
75
|
-
/**
|
|
76
|
-
* The incumbent/challenger selection stabilizer — the `topK=1` (switch cut)
|
|
77
|
-
* anti-ping-pong machine (spec §1.4 step 4, NEW code; L1). Inputs are the per-tick
|
|
78
|
-
* RAW winner id (the score argmax for that tick) and the per-tick scores by id, so
|
|
79
|
-
* the stabilizer is candidate-AGNOSTIC (it reads ids + scalars + policy knobs).
|
|
80
|
-
*
|
|
81
|
-
* Rule (spec §3.2 + §1.3 knobs):
|
|
82
|
-
* - A challenger replaces the incumbent ONLY IF it leads the incumbent by
|
|
83
|
-
* `switchMargin` for `enterFrames` CONTINUOUS ticks AND the incumbent has held
|
|
84
|
-
* ≥ `minHoldFrames`.
|
|
85
|
-
* - `cooldownFrames` forbids re-entering the just-left incumbent for that long.
|
|
86
|
-
* - `maxHoldFrames` (optional) forces the incumbent to yield to the best
|
|
87
|
-
* challenger after that many held ticks even without a margin lead.
|
|
88
|
-
* - A `__hold__` raw winner (no candidate above floor) holds the incumbent (the
|
|
89
|
-
* source lowering: "stay on the incumbent, emit no cut").
|
|
90
|
-
*
|
|
91
|
-
* `scoreById(id, t)` returns the candidate's score at tick t (0 if not scored).
|
|
92
|
-
* Pure. Deterministic — no Date, no Map-order math.
|
|
93
|
-
*/
|
|
94
|
-
export function stabilizeIncumbentChallenger(rawWinnerPerTick, scoreById, n, params) {
|
|
95
|
-
const { minHoldFrames, enterFrames, switchMargin, cooldownFrames, maxHoldFrames } = params;
|
|
96
|
-
const chosenPerTick = new Array(n);
|
|
97
|
-
const suppressed = [];
|
|
98
|
-
if (n === 0)
|
|
99
|
-
return { chosenPerTick, suppressed };
|
|
100
|
-
// Seed the incumbent with the first tick's raw winner (a __hold__ first tick
|
|
101
|
-
// means there is no incumbent yet — the first concrete winner seeds it).
|
|
102
|
-
let incumbent = null;
|
|
103
|
-
let heldFrames = 0;
|
|
104
|
-
// Per-challenger continuous-lead run length (reset when the lead breaks).
|
|
105
|
-
const leadRun = new Map();
|
|
106
|
-
// Cooldown: the id just dethroned → ticks remaining before it may re-enter.
|
|
107
|
-
let cooldownId = null;
|
|
108
|
-
let cooldownLeft = 0;
|
|
109
|
-
for (let t = 0; t < n; t++) {
|
|
110
|
-
const raw = rawWinnerPerTick[t];
|
|
111
|
-
if (incumbent === null) {
|
|
112
|
-
// No incumbent yet: adopt the first concrete (non-hold) raw winner.
|
|
113
|
-
if (raw !== HOLD_ID) {
|
|
114
|
-
incumbent = raw;
|
|
115
|
-
heldFrames = 1;
|
|
116
|
-
}
|
|
117
|
-
chosenPerTick[t] = incumbent ?? raw; // raw is HOLD here if still unseeded
|
|
118
|
-
if (cooldownLeft > 0)
|
|
119
|
-
cooldownLeft--;
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
const incScore = scoreById(incumbent, t);
|
|
123
|
-
// Find the best challenger (the highest-scoring id that is NOT the incumbent
|
|
124
|
-
// and is not in cooldown). The raw winner is the global argmax; if it equals
|
|
125
|
-
// the incumbent there is no challenger this tick.
|
|
126
|
-
let challenger = null;
|
|
127
|
-
let challengerScore = -Infinity;
|
|
128
|
-
if (raw !== HOLD_ID && raw !== incumbent) {
|
|
129
|
-
challenger = raw;
|
|
130
|
-
challengerScore = scoreById(raw, t);
|
|
131
|
-
}
|
|
132
|
-
// Update each challenger's continuous-lead run.
|
|
133
|
-
if (challenger !== null && challengerScore >= incScore + switchMargin) {
|
|
134
|
-
leadRun.set(challenger, (leadRun.get(challenger) ?? 0) + 1);
|
|
135
|
-
}
|
|
136
|
-
// Any id that is NOT a margin-leading challenger this tick loses its run.
|
|
137
|
-
for (const id of [...leadRun.keys()]) {
|
|
138
|
-
if (id !== challenger || challengerScore < incScore + switchMargin)
|
|
139
|
-
leadRun.set(id, 0);
|
|
140
|
-
}
|
|
141
|
-
const leadFrames = challenger !== null ? (leadRun.get(challenger) ?? 0) : 0;
|
|
142
|
-
const inCooldown = challenger !== null && challenger === cooldownId && cooldownLeft > 0;
|
|
143
|
-
// Forced variety: maxHold reached → yield to the best challenger (margin
|
|
144
|
-
// waived). Without a challenger this tick, keep holding (nothing to yield to).
|
|
145
|
-
const maxHoldHit = maxHoldFrames !== undefined && heldFrames >= maxHoldFrames && challenger !== null && !inCooldown;
|
|
146
|
-
const eligibleToSwitch = challenger !== null &&
|
|
147
|
-
!inCooldown &&
|
|
148
|
-
(maxHoldHit || (heldFrames >= minHoldFrames && leadFrames >= enterFrames));
|
|
149
|
-
if (eligibleToSwitch) {
|
|
150
|
-
// Dethrone: the old incumbent enters cooldown.
|
|
151
|
-
cooldownId = incumbent;
|
|
152
|
-
cooldownLeft = cooldownFrames;
|
|
153
|
-
incumbent = challenger;
|
|
154
|
-
heldFrames = 1;
|
|
155
|
-
leadRun.clear();
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
// Hold. If there WAS a margin-leading challenger we blocked, surface it.
|
|
159
|
-
if (challenger !== null && challengerScore > incScore) {
|
|
160
|
-
const blockedBy = inCooldown
|
|
161
|
-
? 'cooldown'
|
|
162
|
-
: challengerScore < incScore + switchMargin
|
|
163
|
-
? 'switch-margin'
|
|
164
|
-
: heldFrames < minHoldFrames
|
|
165
|
-
? 'min-hold'
|
|
166
|
-
: 'enter-debounce';
|
|
167
|
-
const releaseAtTick = blockedBy === 'min-hold'
|
|
168
|
-
? t + (minHoldFrames - heldFrames)
|
|
169
|
-
: blockedBy === 'cooldown'
|
|
170
|
-
? t + cooldownLeft
|
|
171
|
-
: null;
|
|
172
|
-
suppressed.push({ atTick: t, wouldHaveBeenId: challenger, byScore: challengerScore - incScore, blockedBy, releaseAtTick });
|
|
173
|
-
}
|
|
174
|
-
heldFrames++;
|
|
175
|
-
}
|
|
176
|
-
chosenPerTick[t] = incumbent;
|
|
177
|
-
if (cooldownLeft > 0)
|
|
178
|
-
cooldownLeft--;
|
|
179
|
-
}
|
|
180
|
-
return { chosenPerTick, suppressed };
|
|
181
|
-
}
|
|
182
|
-
/** The abstain sentinel, mirrored here so the stabilizer can recognize a held
|
|
183
|
-
* tick without importing the model (keeps the stabilizer model-free at runtime;
|
|
184
|
-
* the value is the same literal as `model.HOLD`). */
|
|
185
|
-
const HOLD_ID = '__hold__';
|
|
186
|
-
/**
|
|
187
|
-
* The presence-gate stabilizer — overlay binary show/hide (spec §6.2 + L1, NEW
|
|
188
|
-
* code). Overlay is ADDITIVE (the primary is always underneath; there is no
|
|
189
|
-
* incumbent to dethrone), so this is NOT incumbent/challenger: it is a per-
|
|
190
|
-
* candidate binary "is this overlay on?" with min-on (no blink-out) and min-gap
|
|
191
|
-
* (no re-trigger flicker) hysteresis.
|
|
192
|
-
*
|
|
193
|
-
* `wantOnPerTick[t]` is the candidate id the adapter wants overlaid at tick t (the
|
|
194
|
-
* floor-cleared winner), or `__hold__` for "no overlay this tick" (primary alone).
|
|
195
|
-
* Output: coalesced ON windows per candidate, after the min-on / min-gap debounce.
|
|
196
|
-
*
|
|
197
|
-
* Reads ONLY ids + policy knobs (the rot-guard holds). Pure + deterministic.
|
|
198
|
-
*/
|
|
199
|
-
export function stabilizePresenceGate(wantOnPerTick, n, params) {
|
|
200
|
-
const { minOnFrames, minGapFrames } = params;
|
|
201
|
-
const windows = [];
|
|
202
|
-
if (n === 0)
|
|
203
|
-
return windows;
|
|
204
|
-
let activeId = null;
|
|
205
|
-
let activeStart = 0;
|
|
206
|
-
// Last OFF tick per candidate (for the min-gap check) — the tick AFTER its last
|
|
207
|
-
// ON window ended.
|
|
208
|
-
const lastOffTick = new Map();
|
|
209
|
-
const closeActive = (endTick) => {
|
|
210
|
-
if (activeId !== null) {
|
|
211
|
-
windows.push({ candidateId: activeId, startTick: activeStart, endTick });
|
|
212
|
-
lastOffTick.set(activeId, endTick);
|
|
213
|
-
activeId = null;
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
for (let t = 0; t < n; t++) {
|
|
217
|
-
const want = wantOnPerTick[t];
|
|
218
|
-
if (activeId !== null) {
|
|
219
|
-
const heldFrames = t - activeStart;
|
|
220
|
-
if (want === activeId) {
|
|
221
|
-
continue; // stay on
|
|
222
|
-
}
|
|
223
|
-
// Want to turn this one off (either a different candidate or __hold__). Honor
|
|
224
|
-
// min-on: don't close before minOnFrames have elapsed.
|
|
225
|
-
if (heldFrames < minOnFrames)
|
|
226
|
-
continue; // extend the ON window through min-on
|
|
227
|
-
closeActive(t);
|
|
228
|
-
// fall through to (possibly) start a new candidate this same tick
|
|
229
|
-
}
|
|
230
|
-
if (want !== HOLD_ID) {
|
|
231
|
-
// Want this candidate ON. Honor min-gap from its OWN previous OFF.
|
|
232
|
-
const off = lastOffTick.get(want);
|
|
233
|
-
if (off !== undefined && t - off < minGapFrames) {
|
|
234
|
-
continue; // too soon to re-trigger this candidate; stay off
|
|
235
|
-
}
|
|
236
|
-
activeId = want;
|
|
237
|
-
activeStart = t;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
closeActive(n);
|
|
241
|
-
return windows;
|
|
242
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// ============ Project Types ============
|
|
2
|
-
export {};
|
|
3
|
-
// ============ Brand Kit Types ============
|
|
4
|
-
// Moved to @cueframe/composition/brand-kit (Phase-3 Slice 1 — decouple authoring
|
|
5
|
-
// from the renderer; brand is a composition-level fact). Reconcile with the
|
|
6
|
-
// render-side BrandKit (@cueframe/composition/validators) + ResolvedBrandKit
|
|
7
|
-
// (@cueframe/composition/projection) in Phase 4.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./registry";
|