@cueframe/kernel 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TextureLoader-UQOFUSAP.js +422 -0
- package/dist/VideoTexture-AQWSPIJG.js +62 -0
- package/dist/_members/account-model/index.d.ts +1 -0
- package/dist/_members/account-model/index.js +4 -0
- package/dist/_members/account-model/testing/conversationStoreContract.d.ts +97 -0
- package/dist/_members/account-model/testing/conversationStoreContract.js +168 -0
- package/dist/_members/account-model/testing/index.d.ts +7 -0
- package/dist/_members/account-model/testing/index.js +7 -0
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +52 -0
- package/dist/_members/account-model/testing/restorePointStoreContract.js +69 -0
- package/dist/_members/account-model/types/index.d.ts +5 -0
- package/dist/_members/account-model/types/index.js +1 -0
- package/dist/_members/account-model/validators/contextFile.d.ts +36 -0
- package/dist/_members/account-model/validators/contextFile.js +18 -0
- package/dist/_members/account-model/validators/conversation.d.ts +153 -0
- package/dist/_members/account-model/validators/conversation.js +95 -0
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +30 -0
- package/dist/_members/account-model/validators/dashboardInsight.js +16 -0
- package/dist/_members/account-model/validators/index.d.ts +7 -0
- package/dist/_members/account-model/validators/index.js +7 -0
- package/dist/_members/account-model/validators/sessionToken.d.ts +79 -0
- package/dist/_members/account-model/validators/sessionToken.js +49 -0
- package/dist/_members/account-model/validators/uploadToken.d.ts +33 -0
- package/dist/_members/account-model/validators/uploadToken.js +16 -0
- package/dist/_members/account-model/validators/userSettings.d.ts +22 -0
- package/dist/_members/account-model/validators/userSettings.js +12 -0
- package/dist/_members/account-model/validators/workingComposition.d.ts +34 -0
- package/dist/_members/account-model/validators/workingComposition.js +20 -0
- package/dist/_members/animate/animations/Create.d.ts +36 -0
- package/dist/_members/animate/animations/FadeIn.d.ts +36 -0
- package/dist/_members/animate/animations/GrowArrow.d.ts +36 -0
- package/dist/_members/animate/animations/GrowFromCenter.d.ts +25 -0
- package/dist/_members/animate/animations/Indicate.d.ts +29 -0
- package/dist/_members/animate/animations/MoveAlongPath.d.ts +30 -0
- package/dist/_members/animate/animations/Transform.d.ts +46 -0
- package/dist/_members/animate/animations/Wiggle.d.ts +31 -0
- package/dist/_members/animate/animations/Write.d.ts +35 -0
- package/dist/_members/animate/animations/index.d.ts +9 -0
- package/dist/_members/animate/composition/AnimationGroup.d.ts +32 -0
- package/dist/_members/animate/composition/LaggedStart.d.ts +33 -0
- package/dist/_members/animate/composition/Succession.d.ts +27 -0
- package/dist/_members/animate/composition/index.d.ts +3 -0
- package/dist/_members/animate/easing/index.d.ts +3 -0
- package/dist/_members/animate/easing/rush.d.ts +16 -0
- package/dist/_members/animate/easing/smooth.d.ts +8 -0
- package/dist/_members/animate/easing/smootherstep.d.ts +7 -0
- package/dist/_members/animate/index.d.ts +25 -0
- package/dist/_members/animate/mobjects/Arrow.d.ts +41 -0
- package/dist/_members/animate/mobjects/BrandBox.d.ts +43 -0
- package/dist/_members/animate/mobjects/DiGraph.d.ts +21 -0
- package/dist/_members/animate/mobjects/Graph.d.ts +72 -0
- package/dist/_members/animate/mobjects/index.d.ts +4 -0
- package/dist/_members/animate/three/ThreeCanvas.d.ts +36 -0
- package/dist/_members/animate/three/drei.d.ts +13 -0
- package/dist/_members/animate/three/index.d.ts +2 -0
- package/dist/_members/authoring/agent/buildTools.d.ts +54 -0
- package/dist/_members/authoring/agent/contextManagement.d.ts +73 -0
- package/dist/_members/authoring/agent/errors.d.ts +12 -0
- package/dist/_members/authoring/agent/index.d.ts +2 -0
- package/dist/_members/authoring/agent/memoryTool.d.ts +8 -0
- package/dist/_members/authoring/agent/promptCache.d.ts +34 -0
- package/dist/_members/authoring/agent.d.ts +59 -0
- package/dist/_members/authoring/capabilities.d.ts +306 -0
- package/dist/_members/authoring/composer/index.d.ts +2 -0
- package/dist/_members/authoring/composer/scopes.d.ts +26 -0
- package/dist/_members/authoring/context/brand.d.ts +37 -0
- package/dist/_members/authoring/context/brandTokens.d.ts +6 -0
- package/dist/_members/authoring/context/index.d.ts +8 -0
- package/dist/_members/authoring/context/timeline.d.ts +33 -0
- package/dist/_members/authoring/context/transcript.d.ts +24 -0
- package/dist/_members/authoring/context/types.d.ts +5 -0
- package/dist/_members/authoring/decomposer.d.ts +17 -0
- package/dist/_members/authoring/evaluate.d.ts +37 -0
- package/dist/_members/authoring/evaluator.d.ts +22 -0
- package/dist/_members/authoring/index.d.ts +25 -0
- package/dist/_members/authoring/models/modelFactory.d.ts +107 -0
- package/dist/_members/authoring/motion/applyMotionPreset.d.ts +31 -0
- package/dist/_members/authoring/motion/index.d.ts +6 -0
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +38 -0
- package/dist/_members/authoring/motion/shell.d.ts +30 -0
- package/dist/_members/authoring/pipelineTrace.d.ts +38 -0
- package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +5 -0
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +18 -0
- package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +5 -0
- package/dist/_members/authoring/prompts/graphics.d.ts +14 -0
- package/dist/_members/authoring/prompts/index.d.ts +4 -0
- package/dist/_members/authoring/prompts/plannerPrompt.d.ts +48 -0
- package/dist/_members/authoring/providers/index.d.ts +1 -0
- package/dist/_members/authoring/providers/resourceApi.d.ts +32 -0
- package/dist/_members/authoring/resource-routing.d.ts +186 -0
- package/dist/_members/authoring/resources.d.ts +59 -0
- package/dist/_members/authoring/scope.d.ts +31 -0
- package/dist/_members/authoring/tools/brandTokens.d.ts +34 -0
- package/dist/_members/authoring/tools/composeRoleTools.d.ts +112 -0
- package/dist/_members/authoring/tools/index.d.ts +4 -0
- package/dist/_members/authoring/tools/toolSets.d.ts +54 -0
- package/dist/_members/authoring/transpileComponent.d.ts +40 -0
- package/dist/_members/authoring/transpileHelper.d.ts +26 -0
- package/dist/_members/authoring/types.d.ts +572 -0
- package/dist/_members/brand-derivation/constants.d.ts +27 -0
- package/dist/_members/brand-derivation/constants.js +20 -0
- package/dist/_members/brand-derivation/contrastSafe.d.ts +47 -0
- package/dist/_members/brand-derivation/contrastSafe.js +114 -0
- package/dist/_members/brand-derivation/index.d.ts +1 -0
- package/dist/_members/brand-derivation/index.js +1 -0
- package/dist/_members/compose/CompositionRenderer.d.ts +12 -0
- package/dist/_members/compose/catalog.d.ts +1 -0
- package/dist/_members/compose/index.d.ts +8 -0
- package/dist/_members/compose/primitiveRegistry.d.ts +90 -0
- package/dist/_members/compose/sceneToRenderInput.d.ts +51 -0
- package/dist/_members/compose/schema.d.ts +45 -0
- package/dist/_members/compose/tokenResolver.d.ts +28 -0
- package/dist/_members/composition/audio/audioMix.d.ts +67 -0
- package/dist/_members/composition/audio/audioMix.js +61 -0
- package/dist/_members/composition/audio/index.d.ts +5 -0
- package/dist/_members/composition/audio/index.js +5 -0
- package/dist/_members/composition/audio/mixStaging.d.ts +107 -0
- package/dist/_members/composition/audio/mixStaging.js +195 -0
- package/dist/_members/composition/audio/musicPack.d.ts +56 -0
- package/dist/_members/composition/audio/musicPack.generated.d.ts +9 -0
- package/dist/_members/composition/audio/musicPack.generated.js +136 -0
- package/dist/_members/composition/audio/musicPack.js +36 -0
- package/dist/_members/composition/audio/pack.d.ts +67 -0
- package/dist/_members/composition/audio/pack.generated.d.ts +9 -0
- package/dist/_members/composition/audio/pack.generated.js +603 -0
- package/dist/_members/composition/audio/pack.js +48 -0
- package/dist/_members/composition/audio/palette.d.ts +82 -0
- package/dist/_members/composition/audio/palette.js +134 -0
- package/dist/_members/composition/autozoom/index.d.ts +57 -0
- package/dist/_members/composition/autozoom/index.js +83 -0
- package/dist/_members/composition/brand-kit.d.ts +58 -0
- package/dist/_members/composition/brand-kit.js +45 -0
- package/dist/_members/composition/brief/contract.d.ts +132 -0
- package/dist/_members/composition/brief/contract.js +209 -0
- package/dist/_members/composition/color-grade.d.ts +17 -0
- package/dist/_members/composition/color-grade.js +80 -0
- package/dist/_members/composition/depth.d.ts +24 -0
- package/dist/_members/composition/depth.js +8 -0
- package/dist/_members/composition/fixtures/agentErrored.d.ts +25 -0
- package/dist/_members/composition/fixtures/index.d.ts +7 -0
- package/dist/_members/composition/fixtures/index.js +143 -0
- package/dist/_members/composition/fixtures/vaayaErrored.d.ts +25 -0
- package/dist/_members/composition/fixtures/vaayaErrored.js +203 -0
- package/dist/_members/composition/fonts.d.ts +68 -0
- package/dist/_members/composition/fonts.js +162 -0
- package/dist/_members/composition/graphics-plan/compile.d.ts +43 -0
- package/dist/_members/composition/graphics-plan/compile.js +221 -0
- package/dist/_members/composition/graphics-plan/index.d.ts +11 -0
- package/dist/_members/composition/graphics-plan/index.js +10 -0
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +51 -0
- package/dist/_members/composition/graphics-plan/instantiateMotif.js +44 -0
- package/dist/_members/composition/graphics-plan/motion.d.ts +19 -0
- package/dist/_members/composition/graphics-plan/motion.js +66 -0
- package/dist/_members/composition/graphics-plan/schemas.d.ts +1672 -0
- package/dist/_members/composition/graphics-plan/schemas.js +261 -0
- package/dist/_members/composition/graphics-plan/solve.d.ts +34 -0
- package/dist/_members/composition/graphics-plan/solve.js +145 -0
- package/dist/_members/composition/index.d.ts +7 -0
- package/dist/_members/composition/index.js +5 -0
- package/dist/_members/composition/invariants/clipPlacement.d.ts +65 -0
- package/dist/_members/composition/invariants/clipPlacement.js +69 -0
- package/dist/_members/composition/invariants/composition.d.ts +9 -0
- package/dist/_members/composition/invariants/composition.js +28 -0
- package/dist/_members/composition/invariants/errors.d.ts +11 -0
- package/dist/_members/composition/invariants/errors.js +10 -0
- package/dist/_members/composition/invariants/etag.d.ts +10 -0
- package/dist/_members/composition/invariants/etag.js +38 -0
- package/dist/_members/composition/invariants/ids.d.ts +9 -0
- package/dist/_members/composition/invariants/ids.js +33 -0
- package/dist/_members/composition/invariants/index.d.ts +9 -0
- package/dist/_members/composition/invariants/index.js +9 -0
- package/dist/_members/composition/invariants/keyframes.d.ts +23 -0
- package/dist/_members/composition/invariants/keyframes.js +45 -0
- package/dist/_members/composition/invariants/markers.d.ts +9 -0
- package/dist/_members/composition/invariants/markers.js +29 -0
- package/dist/_members/composition/invariants/time.d.ts +22 -0
- package/dist/_members/composition/invariants/time.js +20 -0
- package/dist/_members/composition/invariants/tracks.d.ts +58 -0
- package/dist/_members/composition/invariants/tracks.js +304 -0
- package/dist/_members/composition/ops/compositionOps.d.ts +129 -0
- package/dist/_members/composition/ops/compositionOps.js +1056 -0
- package/dist/_members/composition/ops/headlessStore.d.ts +40 -0
- package/dist/_members/composition/ops/headlessStore.js +94 -0
- package/dist/_members/composition/ops/index.d.ts +6 -0
- package/dist/_members/composition/ops/index.js +4 -0
- package/dist/_members/composition/ops/selectors.d.ts +81 -0
- package/dist/_members/composition/ops/selectors.js +118 -0
- package/dist/_members/composition/ops/timeline-word.d.ts +24 -0
- package/dist/_members/composition/ops/timeline-word.js +1 -0
- package/dist/_members/composition/ops/transcript.d.ts +44 -0
- package/dist/_members/composition/ops/transcript.js +77 -0
- package/dist/_members/composition/ops/types.d.ts +145 -0
- package/dist/_members/composition/ops/types.js +16 -0
- package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +82 -0
- package/dist/_members/composition/primitive-catalog/catalogQuery.js +150 -0
- package/dist/_members/composition/primitive-catalog/disabled.d.ts +3 -0
- package/dist/_members/composition/primitive-catalog/disabled.js +32 -0
- package/dist/_members/composition/primitive-catalog/generated/meta.d.ts +2 -0
- package/dist/_members/composition/primitive-catalog/generated/meta.js +15161 -0
- package/dist/_members/composition/primitive-catalog/index.d.ts +28 -0
- package/dist/_members/composition/primitive-catalog/index.js +46 -0
- package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +76 -0
- package/dist/_members/composition/primitive-catalog/paramValidation.js +231 -0
- package/dist/_members/composition/primitive-catalog/projection.d.ts +99 -0
- package/dist/_members/composition/primitive-catalog/projection.js +164 -0
- package/dist/_members/composition/primitive-catalog/types.d.ts +123 -0
- package/dist/_members/composition/primitive-catalog/types.js +14 -0
- package/dist/_members/composition/projection/behind-placement.d.ts +64 -0
- package/dist/_members/composition/projection/behind-placement.js +62 -0
- package/dist/_members/composition/projection/brandKit.d.ts +308 -0
- package/dist/_members/composition/projection/brandKit.js +482 -0
- package/dist/_members/composition/projection/cardTokens.d.ts +70 -0
- package/dist/_members/composition/projection/cardTokens.js +209 -0
- package/dist/_members/composition/projection/composition-floor.d.ts +349 -0
- package/dist/_members/composition/projection/composition-floor.js +582 -0
- package/dist/_members/composition/projection/cropProjection.d.ts +140 -0
- package/dist/_members/composition/projection/cropProjection.js +257 -0
- package/dist/_members/composition/projection/index.d.ts +7 -0
- package/dist/_members/composition/projection/index.js +7 -0
- package/dist/_members/composition/projection/occlusion-budget.d.ts +67 -0
- package/dist/_members/composition/projection/occlusion-budget.js +104 -0
- package/dist/_members/composition/projection/safe-zones.d.ts +38 -0
- package/dist/_members/composition/projection/safe-zones.js +99 -0
- package/dist/_members/composition/reframe/aspectLoss.d.ts +49 -0
- package/dist/_members/composition/reframe/aspectLoss.js +115 -0
- package/dist/_members/composition/reframe/coverage.d.ts +48 -0
- package/dist/_members/composition/reframe/coverage.js +62 -0
- package/dist/_members/composition/reframe/derive.d.ts +37 -0
- package/dist/_members/composition/reframe/derive.js +73 -0
- package/dist/_members/composition/reframe/index.d.ts +658 -0
- package/dist/_members/composition/reframe/index.js +109 -0
- package/dist/_members/composition/reframe/kenBurns.d.ts +43 -0
- package/dist/_members/composition/reframe/kenBurns.js +64 -0
- package/dist/_members/composition/reframe/shotScale.d.ts +118 -0
- package/dist/_members/composition/reframe/shotScale.js +176 -0
- package/dist/_members/composition/reframe/trajectory.d.ts +99 -0
- package/dist/_members/composition/reframe/trajectory.js +124 -0
- package/dist/_members/composition/timeline/compound.d.ts +36 -0
- package/dist/_members/composition/timeline/compound.js +134 -0
- package/dist/_members/composition/timeline/index.d.ts +9 -0
- package/dist/_members/composition/timeline/index.js +9 -0
- package/dist/_members/composition/timeline/intent.d.ts +54 -0
- package/dist/_members/composition/timeline/intent.js +228 -0
- package/dist/_members/composition/timeline/keyframes.d.ts +50 -0
- package/dist/_members/composition/timeline/keyframes.js +121 -0
- package/dist/_members/composition/timeline/link.d.ts +36 -0
- package/dist/_members/composition/timeline/link.js +59 -0
- package/dist/_members/composition/timeline/occupancy.d.ts +72 -0
- package/dist/_members/composition/timeline/occupancy.js +36 -0
- package/dist/_members/composition/timeline/placement.d.ts +86 -0
- package/dist/_members/composition/timeline/placement.js +74 -0
- package/dist/_members/composition/timeline/plan.d.ts +109 -0
- package/dist/_members/composition/timeline/plan.js +31 -0
- package/dist/_members/composition/timeline/resolve.d.ts +55 -0
- package/dist/_members/composition/timeline/resolve.js +170 -0
- package/dist/_members/composition/timeline/trims.d.ts +54 -0
- package/dist/_members/composition/timeline/trims.js +278 -0
- package/dist/_members/composition/types/index.d.ts +8 -0
- package/dist/_members/composition/types/index.js +1 -0
- package/dist/_members/composition/validators/brandKit.d.ts +1472 -0
- package/dist/_members/composition/validators/brandKit.js +295 -0
- package/dist/_members/composition/validators/composePlan.d.ts +960 -0
- package/dist/_members/composition/validators/composePlan.js +113 -0
- package/dist/_members/composition/validators/composition.d.ts +6881 -0
- package/dist/_members/composition/validators/composition.js +703 -0
- package/dist/_members/composition/validators/font.d.ts +114 -0
- package/dist/_members/composition/validators/font.js +34 -0
- package/dist/_members/composition/validators/graphicKinds.d.ts +32 -0
- package/dist/_members/composition/validators/graphicKinds.js +30 -0
- package/dist/_members/composition/validators/index.d.ts +9 -0
- package/dist/_members/composition/validators/index.js +9 -0
- package/dist/_members/composition/validators/project.d.ts +62 -0
- package/dist/_members/composition/validators/project.js +29 -0
- package/dist/_members/composition/validators/registry.d.ts +161 -0
- package/dist/_members/composition/validators/registry.js +41 -0
- package/dist/_members/composition/validators/render.d.ts +8274 -0
- package/dist/_members/composition/validators/render.js +139 -0
- package/dist/_members/composition/validators/session.d.ts +117 -0
- package/dist/_members/composition/validators/session.js +37 -0
- package/dist/_members/composition/validators/webhook.d.ts +83 -0
- package/dist/_members/composition/validators/webhook.js +72 -0
- package/dist/_members/composition-ops/alphaLayers.d.ts +70 -0
- package/dist/_members/composition-ops/alphaLayers.js +141 -0
- package/dist/_members/composition-ops/index.d.ts +4940 -0
- package/dist/_members/composition-ops/index.js +637 -0
- package/dist/_members/composition-ops/materializeGrid.d.ts +56 -0
- package/dist/_members/composition-ops/materializeGrid.js +99 -0
- package/dist/_members/composition-ops/opRecorder.d.ts +77 -0
- package/dist/_members/composition-ops/opRecorder.js +196 -0
- package/dist/_members/composition-ops/recordingStore.d.ts +23 -0
- package/dist/_members/composition-ops/recordingStore.js +14 -0
- package/dist/_members/composition-ops/replaceRegion.d.ts +65 -0
- package/dist/_members/composition-ops/replaceRegion.js +102 -0
- package/dist/_members/composition-ops/testFixtures.d.ts +19 -0
- package/dist/_members/composition-ops/testFixtures.js +19 -0
- package/dist/_members/core/index.d.ts +3 -0
- package/dist/_members/core/index.js +5 -0
- package/dist/_members/core/render/bookends.d.ts +62 -0
- package/dist/_members/core/render/bookends.js +53 -0
- package/dist/_members/core/render/captions.d.ts +65 -0
- package/dist/_members/core/render/captions.js +127 -0
- package/dist/_members/core/render/compositionRender.d.ts +190 -0
- package/dist/_members/core/render/compositionRender.js +1249 -0
- package/dist/_members/core/render/deriveTrajectory.d.ts +188 -0
- package/dist/_members/core/render/deriveTrajectory.js +889 -0
- package/dist/_members/core/render/emphasis.d.ts +13 -0
- package/dist/_members/core/render/emphasis.js +16 -0
- package/dist/_members/core/render/eval/cropBox.d.ts +88 -0
- package/dist/_members/core/render/eval/cropBox.js +139 -0
- package/dist/_members/core/render/eval/inclusion.d.ts +50 -0
- package/dist/_members/core/render/eval/inclusion.js +96 -0
- package/dist/_members/core/render/eval/index.d.ts +93 -0
- package/dist/_members/core/render/eval/index.js +146 -0
- package/dist/_members/core/render/eval/metrics.d.ts +50 -0
- package/dist/_members/core/render/eval/metrics.js +94 -0
- package/dist/_members/core/render/exportSettings.d.ts +40 -0
- package/dist/_members/core/render/exportSettings.js +65 -0
- package/dist/_members/core/render/index.d.ts +14 -0
- package/dist/_members/core/render/index.js +20 -0
- package/dist/_members/core/render/mapFaceToPerson.d.ts +39 -0
- package/dist/_members/core/render/mapFaceToPerson.js +73 -0
- package/dist/_members/core/render/types.d.ts +304 -0
- package/dist/_members/core/render/types.js +8 -0
- package/dist/_members/core/render/vcam/cameraPath.d.ts +51 -0
- package/dist/_members/core/render/vcam/cameraPath.js +248 -0
- package/dist/_members/core/render/vcam/constants.d.ts +113 -0
- package/dist/_members/core/render/vcam/constants.js +115 -0
- package/dist/_members/core/render/vcam/errorCodes.d.ts +30 -0
- package/dist/_members/core/render/vcam/errorCodes.js +39 -0
- package/dist/_members/core/render/vcam/framing.d.ts +90 -0
- package/dist/_members/core/render/vcam/framing.js +136 -0
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +85 -0
- package/dist/_members/core/render/vcam/requiredRegion.js +137 -0
- package/dist/_members/core/render/vcam/shots.d.ts +45 -0
- package/dist/_members/core/render/vcam/shots.js +53 -0
- package/dist/_members/core/render/vcam/subjectSet.d.ts +106 -0
- package/dist/_members/core/render/vcam/subjectSet.js +388 -0
- package/dist/_members/core/select/errorCodes.d.ts +27 -0
- package/dist/_members/core/select/errorCodes.js +38 -0
- package/dist/_members/core/select/index.d.ts +27 -0
- package/dist/_members/core/select/index.js +26 -0
- package/dist/_members/core/select/model.d.ts +178 -0
- package/dist/_members/core/select/model.js +18 -0
- package/dist/_members/core/select/select.d.ts +63 -0
- package/dist/_members/core/select/select.js +244 -0
- package/dist/_members/core/select/stabilize.d.ts +145 -0
- package/dist/_members/core/select/stabilize.js +242 -0
- package/dist/_members/core/types.d.ts +84 -0
- package/dist/_members/core/types.js +7 -0
- package/dist/_members/errors/index.d.ts +1 -0
- package/dist/_members/errors/index.js +1 -0
- package/dist/_members/errors/registry.d.ts +708 -0
- package/dist/_members/errors/registry.js +560 -0
- package/dist/_members/foundation/codes/index.d.ts +31 -0
- package/dist/_members/foundation/codes/index.js +31 -0
- package/dist/_members/foundation/index.d.ts +2 -0
- package/dist/_members/foundation/index.js +2 -0
- package/dist/_members/foundation/primitives/index.d.ts +9 -0
- package/dist/_members/foundation/primitives/index.js +5 -0
- package/dist/_members/mcp/adapter.d.ts +138 -0
- package/dist/_members/mcp/adapter.js +771 -0
- package/dist/_members/mcp/burnedNames.d.ts +23 -0
- package/dist/_members/mcp/burnedNames.js +73 -0
- package/dist/_members/mcp/core.d.ts +158 -0
- package/dist/_members/mcp/core.js +390 -0
- package/dist/_members/mcp/curation.d.ts +155 -0
- package/dist/_members/mcp/curation.js +792 -0
- package/dist/_members/mcp/executor.d.ts +60 -0
- package/dist/_members/mcp/executor.js +142 -0
- package/dist/_members/mcp/format.d.ts +7 -0
- package/dist/_members/mcp/format.js +9 -0
- package/dist/_members/mcp/generated/catalogPreviews.d.ts +2 -0
- package/dist/_members/mcp/generated/catalogPreviews.js +95 -0
- package/dist/_members/mcp/generated/harness.d.ts +1 -0
- package/dist/_members/mcp/generated/harness.js +81 -0
- package/dist/_members/mcp/generated/operations.d.ts +41 -0
- package/dist/_members/mcp/generated/operations.js +131 -0
- package/dist/_members/mcp/index.d.ts +3 -0
- package/dist/_members/mcp/index.js +50 -0
- package/dist/_members/mcp/internalLoopTools.d.ts +25 -0
- package/dist/_members/mcp/internalLoopTools.js +109 -0
- package/dist/_members/mcp/prompts.d.ts +22 -0
- package/dist/_members/mcp/prompts.js +45 -0
- package/dist/_members/mcp/resources.d.ts +16 -0
- package/dist/_members/mcp/resources.js +166 -0
- package/dist/_members/mcp/server.d.ts +92 -0
- package/dist/_members/mcp/server.js +340 -0
- package/dist/_members/mcp/wait.d.ts +37 -0
- package/dist/_members/mcp/wait.js +378 -0
- package/dist/_members/mcp/x402Meta.d.ts +50 -0
- package/dist/_members/mcp/x402Meta.js +66 -0
- package/dist/_members/media-model/api.d.ts +877 -0
- package/dist/_members/media-model/api.js +175 -0
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/index.js +1 -0
- package/dist/_members/media-model/media-kind.d.ts +36 -0
- package/dist/_members/media-model/media-kind.js +116 -0
- package/dist/_members/media-model/testing/index.d.ts +2 -0
- package/dist/_members/media-model/testing/index.js +1 -0
- package/dist/_members/media-model/testing/mediaStoreContract.d.ts +17 -0
- package/dist/_members/media-model/testing/mediaStoreContract.js +82 -0
- package/dist/_members/media-model/transcriptSearch.d.ts +54 -0
- package/dist/_members/media-model/transcriptSearch.js +70 -0
- package/dist/_members/media-model/transcriptSearchCases.json +79 -0
- package/dist/_members/nle-export/compact-timeline.d.ts +2 -0
- package/dist/_members/nle-export/compact-timeline.js +73 -0
- package/dist/_members/nle-export/compact-timeline.js.map +1 -0
- package/dist/_members/nle-export/composition-to-input.d.ts +2 -0
- package/dist/_members/nle-export/composition-to-input.js +147 -0
- package/dist/_members/nle-export/composition-to-input.js.map +1 -0
- package/dist/_members/nle-export/fcpxml.d.ts +15 -0
- package/dist/_members/nle-export/fcpxml.js +159 -0
- package/dist/_members/nle-export/fcpxml.js.map +1 -0
- package/dist/_members/nle-export/index.d.ts +11 -0
- package/dist/_members/nle-export/index.js +12 -0
- package/dist/_members/nle-export/index.js.map +1 -0
- package/dist/_members/nle-export/premiere.d.ts +2 -0
- package/dist/_members/nle-export/premiere.js +161 -0
- package/dist/_members/nle-export/premiere.js.map +1 -0
- package/dist/_members/nle-export/server/index.d.ts +1 -0
- package/dist/_members/nle-export/server/index.js +2 -0
- package/dist/_members/nle-export/server/index.js.map +1 -0
- package/dist/_members/nle-export/server/pack-zip.d.ts +6 -0
- package/dist/_members/nle-export/server/pack-zip.js +38 -0
- package/dist/_members/nle-export/server/pack-zip.js.map +1 -0
- package/dist/_members/nle-export/srt.d.ts +2 -0
- package/dist/_members/nle-export/srt.js +50 -0
- package/dist/_members/nle-export/srt.js.map +1 -0
- package/dist/_members/nle-export/types.d.ts +183 -0
- package/dist/_members/nle-export/types.js +9 -0
- package/dist/_members/nle-export/types.js.map +1 -0
- package/dist/_members/nle-export/xml/index.d.ts +10 -0
- package/dist/_members/nle-export/xml/index.js +11 -0
- package/dist/_members/nle-export/xml/index.js.map +1 -0
- package/dist/_members/nle-export/xml-utils.d.ts +21 -0
- package/dist/_members/nle-export/xml-utils.js +48 -0
- package/dist/_members/nle-export/xml-utils.js.map +1 -0
- package/dist/_members/perception/activeSpeaker.d.ts +108 -0
- package/dist/_members/perception/activeSpeaker.js +103 -0
- package/dist/_members/perception/audioQuality.d.ts +78 -0
- package/dist/_members/perception/audioQuality.js +76 -0
- package/dist/_members/perception/energyBeat.d.ts +95 -0
- package/dist/_members/perception/energyBeat.js +99 -0
- package/dist/_members/perception/identityMatch.d.ts +80 -0
- package/dist/_members/perception/identityMatch.js +91 -0
- package/dist/_members/perception/index.d.ts +90 -0
- package/dist/_members/perception/index.js +48 -0
- package/dist/_members/perception/visualQuality.d.ts +86 -0
- package/dist/_members/perception/visualQuality.js +95 -0
- package/dist/_members/plane/conformance.d.ts +75 -0
- package/dist/_members/plane/conformance.js +90 -0
- package/dist/_members/plane/contract.d.ts +55 -0
- package/dist/_members/plane/contract.js +49 -0
- package/dist/_members/plane/index.d.ts +16 -0
- package/dist/_members/plane/index.js +16 -0
- package/dist/_members/primitives/backgrounds/animated-bar-chart/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +28 -0
- package/dist/_members/primitives/backgrounds/animated-line-chart/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +29 -0
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/config.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +25 -0
- package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +24 -0
- package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +17 -0
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/config.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +16 -0
- package/dist/_members/primitives/backgrounds/index.d.ts +13 -0
- package/dist/_members/primitives/backgrounds/index.js +32 -0
- package/dist/_members/primitives/backgrounds/index.js.map +1 -0
- package/dist/_members/primitives/backgrounds/infinite-marquee/config.d.ts +36 -0
- package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/config.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +16 -0
- package/dist/_members/primitives/backgrounds/perspective-marquee/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +23 -0
- package/dist/_members/primitives/backgrounds/silk-flow-bg/config.d.ts +36 -0
- package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/vector-field/config.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +25 -0
- package/dist/_members/primitives/backgrounds/volumetric-rays/config.d.ts +33 -0
- package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +30 -0
- package/dist/_members/primitives/captions/Captions.d.ts +33 -0
- package/dist/_members/primitives/captions/index.d.ts +17 -0
- package/dist/_members/primitives/captions/index.js +398 -0
- package/dist/_members/primitives/captions/index.js.map +1 -0
- package/dist/_members/primitives/captions/paginate.d.ts +31 -0
- package/dist/_members/primitives/captions/placement.d.ts +35 -0
- package/dist/_members/primitives/chunk-2LVE4UIT.js +139 -0
- package/dist/_members/primitives/chunk-2LVE4UIT.js.map +1 -0
- package/dist/_members/primitives/chunk-3IQUH6KK.js +20 -0
- package/dist/_members/primitives/chunk-3IQUH6KK.js.map +1 -0
- package/dist/_members/primitives/chunk-3OMURV6Q.js +112 -0
- package/dist/_members/primitives/chunk-3OMURV6Q.js.map +1 -0
- package/dist/_members/primitives/chunk-4IS6TMEG.js +21 -0
- package/dist/_members/primitives/chunk-4IS6TMEG.js.map +1 -0
- package/dist/_members/primitives/chunk-5MWGAEGQ.js +1644 -0
- package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +1 -0
- package/dist/_members/primitives/chunk-7RRPFPQK.js +15 -0
- package/dist/_members/primitives/chunk-7RRPFPQK.js.map +1 -0
- package/dist/_members/primitives/chunk-DH5TRZK2.js +125 -0
- package/dist/_members/primitives/chunk-DH5TRZK2.js.map +1 -0
- package/dist/_members/primitives/chunk-E3KNUSFG.js +2337 -0
- package/dist/_members/primitives/chunk-E3KNUSFG.js.map +1 -0
- package/dist/_members/primitives/chunk-G2B3G4HK.js +47 -0
- package/dist/_members/primitives/chunk-G2B3G4HK.js.map +1 -0
- package/dist/_members/primitives/chunk-HFPFGZXT.js +1494 -0
- package/dist/_members/primitives/chunk-HFPFGZXT.js.map +1 -0
- package/dist/_members/primitives/chunk-HIWVFZVH.js +19 -0
- package/dist/_members/primitives/chunk-HIWVFZVH.js.map +1 -0
- package/dist/_members/primitives/chunk-IDAL6G3Y.js +134 -0
- package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +1 -0
- package/dist/_members/primitives/chunk-KNC6JP5F.js +34 -0
- package/dist/_members/primitives/chunk-KNC6JP5F.js.map +1 -0
- package/dist/_members/primitives/chunk-KYRDVZST.js +459 -0
- package/dist/_members/primitives/chunk-KYRDVZST.js.map +1 -0
- package/dist/_members/primitives/chunk-LWLHS2NS.js +3410 -0
- package/dist/_members/primitives/chunk-LWLHS2NS.js.map +1 -0
- package/dist/_members/primitives/chunk-QAQ3P7DR.js +8855 -0
- package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +1 -0
- package/dist/_members/primitives/chunk-ROV2ODWC.js +81 -0
- package/dist/_members/primitives/chunk-ROV2ODWC.js.map +1 -0
- package/dist/_members/primitives/chunk-TCRC2FH3.js +183 -0
- package/dist/_members/primitives/chunk-TCRC2FH3.js.map +1 -0
- package/dist/_members/primitives/chunk-US4YEDAA.js +96 -0
- package/dist/_members/primitives/chunk-US4YEDAA.js.map +1 -0
- package/dist/_members/primitives/chunk-UVKRO5ER.js +13 -0
- package/dist/_members/primitives/chunk-UVKRO5ER.js.map +1 -0
- package/dist/_members/primitives/chunk-W4EIIF2I.js +10 -0
- package/dist/_members/primitives/chunk-W4EIIF2I.js.map +1 -0
- package/dist/_members/primitives/chunk-WPGKIPCO.js +3563 -0
- package/dist/_members/primitives/chunk-WPGKIPCO.js.map +1 -0
- package/dist/_members/primitives/chunk-WZFLEGMD.js +1435 -0
- package/dist/_members/primitives/chunk-WZFLEGMD.js.map +1 -0
- package/dist/_members/primitives/chunk-XHU3WBEI.js +33 -0
- package/dist/_members/primitives/chunk-XHU3WBEI.js.map +1 -0
- package/dist/_members/primitives/chunk-YN7WTZZ7.js +46 -0
- package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +1 -0
- package/dist/_members/primitives/effects/blur/config.d.ts +24 -0
- package/dist/_members/primitives/effects/blur/index.d.ts +29 -0
- package/dist/_members/primitives/effects/color-grade/config.d.ts +30 -0
- package/dist/_members/primitives/effects/color-grade/index.d.ts +35 -0
- package/dist/_members/primitives/effects/grain/config.d.ts +21 -0
- package/dist/_members/primitives/effects/grain/index.d.ts +21 -0
- package/dist/_members/primitives/effects/index.d.ts +12 -0
- package/dist/_members/primitives/effects/index.js +30 -0
- package/dist/_members/primitives/effects/index.js.map +1 -0
- package/dist/_members/primitives/effects/parallax/config.d.ts +21 -0
- package/dist/_members/primitives/effects/parallax/index.d.ts +25 -0
- package/dist/_members/primitives/effects/particles/config.d.ts +33 -0
- package/dist/_members/primitives/effects/particles/index.d.ts +31 -0
- package/dist/_members/primitives/effects/pulsing-indicator/config.d.ts +24 -0
- package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +19 -0
- package/dist/_members/primitives/effects/spotlight-card/config.d.ts +42 -0
- package/dist/_members/primitives/effects/spotlight-card/index.d.ts +25 -0
- package/dist/_members/primitives/effects/spring-pop-in/config.d.ts +27 -0
- package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +22 -0
- package/dist/_members/primitives/effects/success-confetti/config.d.ts +42 -0
- package/dist/_members/primitives/effects/success-confetti/index.d.ts +23 -0
- package/dist/_members/primitives/effects/vignette/config.d.ts +21 -0
- package/dist/_members/primitives/effects/vignette/index.d.ts +23 -0
- package/dist/_members/primitives/hero-text/HeroText.d.ts +29 -0
- package/dist/_members/primitives/hero-text/config.d.ts +46 -0
- package/dist/_members/primitives/hero-text/index.d.ts +18 -0
- package/dist/_members/primitives/hero-text/index.js +14 -0
- package/dist/_members/primitives/hero-text/index.js.map +1 -0
- package/dist/_members/primitives/index.d.ts +21 -0
- package/dist/_members/primitives/index.js +64 -0
- package/dist/_members/primitives/index.js.map +1 -0
- package/dist/_members/primitives/layouts/chat-to-preview-layout/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +19 -0
- package/dist/_members/primitives/layouts/index.d.ts +9 -0
- package/dist/_members/primitives/layouts/index.js +24 -0
- package/dist/_members/primitives/layouts/index.js.map +1 -0
- package/dist/_members/primitives/layouts/infinite-bento-pan/config.d.ts +18 -0
- package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +15 -0
- package/dist/_members/primitives/layouts/letterbox/config.d.ts +18 -0
- package/dist/_members/primitives/layouts/letterbox/index.d.ts +23 -0
- package/dist/_members/primitives/layouts/photo-grid/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/photo-grid/index.d.ts +25 -0
- package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +32 -0
- package/dist/_members/primitives/layouts/split-screen/config.d.ts +15 -0
- package/dist/_members/primitives/layouts/split-screen/index.d.ts +22 -0
- package/dist/_members/primitives/layouts/staggered-bento-grid/config.d.ts +66 -0
- package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +24 -0
- package/dist/_members/primitives/lib/easings.d.ts +47 -0
- package/dist/_members/primitives/lib/easings.js +26 -0
- package/dist/_members/primitives/lib/easings.js.map +1 -0
- package/dist/_members/primitives/lib/index.d.ts +8 -0
- package/dist/_members/primitives/lib/index.js +74 -0
- package/dist/_members/primitives/lib/index.js.map +1 -0
- package/dist/_members/primitives/lib/palette.d.ts +55 -0
- package/dist/_members/primitives/lib/palette.js +72 -0
- package/dist/_members/primitives/lib/palette.js.map +1 -0
- package/dist/_members/primitives/lib/preview.d.ts +36 -0
- package/dist/_members/primitives/lib/preview.js +8 -0
- package/dist/_members/primitives/lib/preview.js.map +1 -0
- package/dist/_members/primitives/lib/schema.d.ts +53 -0
- package/dist/_members/primitives/lib/schema.js +12 -0
- package/dist/_members/primitives/lib/schema.js.map +1 -0
- package/dist/_members/primitives/lib/seeded-random.d.ts +33 -0
- package/dist/_members/primitives/lib/seeded-random.js +14 -0
- package/dist/_members/primitives/lib/seeded-random.js.map +1 -0
- package/dist/_members/primitives/lib/text/contrast.d.ts +27 -0
- package/dist/_members/primitives/lib/text/contrast.js +12 -0
- package/dist/_members/primitives/lib/text/contrast.js.map +1 -0
- package/dist/_members/primitives/lib/text/fill.d.ts +8 -0
- package/dist/_members/primitives/lib/text/fill.js +8 -0
- package/dist/_members/primitives/lib/text/fill.js.map +1 -0
- package/dist/_members/primitives/lib/text/fitText.d.ts +62 -0
- package/dist/_members/primitives/lib/text/fitText.js +10 -0
- package/dist/_members/primitives/lib/text/fitText.js.map +1 -0
- package/dist/_members/primitives/lib/text/marker.d.ts +15 -0
- package/dist/_members/primitives/lib/text/marker.js +8 -0
- package/dist/_members/primitives/lib/text/marker.js.map +1 -0
- package/dist/_members/primitives/lib/text/motion.d.ts +57 -0
- package/dist/_members/primitives/lib/text/motion.js +16 -0
- package/dist/_members/primitives/lib/text/motion.js.map +1 -0
- package/dist/_members/primitives/lib/text/recolor.d.ts +12 -0
- package/dist/_members/primitives/lib/text/recolor.js +8 -0
- package/dist/_members/primitives/lib/text/recolor.js.map +1 -0
- package/dist/_members/primitives/lib/text/spec.d.ts +82 -0
- package/dist/_members/primitives/lib/text/spec.js +1 -0
- package/dist/_members/primitives/lib/text/spec.js.map +1 -0
- package/dist/_members/primitives/lib/text/stage.d.ts +23 -0
- package/dist/_members/primitives/lib/text/stage.js +8 -0
- package/dist/_members/primitives/lib/text/stage.js.map +1 -0
- package/dist/_members/primitives/lib/text/typeface.d.ts +16 -0
- package/dist/_members/primitives/lib/text/typeface.js +8 -0
- package/dist/_members/primitives/lib/text/typeface.js.map +1 -0
- package/dist/_members/primitives/lib/tokens.d.ts +109 -0
- package/dist/_members/primitives/lib/tokens.js +24 -0
- package/dist/_members/primitives/lib/tokens.js.map +1 -0
- package/dist/_members/primitives/lib/types.d.ts +200 -0
- package/dist/_members/primitives/lib/types.js +1 -0
- package/dist/_members/primitives/lib/types.js.map +1 -0
- package/dist/_members/primitives/params-required.json +153 -0
- package/dist/_members/primitives/scenes/changelog-bite/config.d.ts +36 -0
- package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +28 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +24 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +16 -0
- package/dist/_members/primitives/scenes/index.d.ts +9 -0
- package/dist/_members/primitives/scenes/index.js +25 -0
- package/dist/_members/primitives/scenes/index.js.map +1 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/config.d.ts +15 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +15 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/timeline.d.ts +15 -0
- package/dist/_members/primitives/scenes/live-code-compilation/config.d.ts +15 -0
- package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +14 -0
- package/dist/_members/primitives/scenes/pricing-tier-focus/config.d.ts +21 -0
- package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +15 -0
- package/dist/_members/primitives/scenes/product-launch-trailer/config.d.ts +33 -0
- package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +20 -0
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/config.d.ts +21 -0
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +15 -0
- package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +43 -0
- package/dist/_members/primitives/subject-foreground/index.d.ts +23 -0
- package/dist/_members/primitives/subject-foreground/index.js +30 -0
- package/dist/_members/primitives/subject-foreground/index.js.map +1 -0
- package/dist/_members/primitives/text/blur-reveal/config.d.ts +30 -0
- package/dist/_members/primitives/text/blur-reveal/index.d.ts +20 -0
- package/dist/_members/primitives/text/cinematic-title/config.d.ts +87 -0
- package/dist/_members/primitives/text/cinematic-title/index.d.ts +31 -0
- package/dist/_members/primitives/text/index.d.ts +23 -0
- package/dist/_members/primitives/text/index.js +57 -0
- package/dist/_members/primitives/text/index.js.map +1 -0
- package/dist/_members/primitives/text/inline-highlight/config.d.ts +36 -0
- package/dist/_members/primitives/text/inline-highlight/index.d.ts +24 -0
- package/dist/_members/primitives/text/karaoke/config.d.ts +108 -0
- package/dist/_members/primitives/text/karaoke/index.d.ts +32 -0
- package/dist/_members/primitives/text/kinetic-type/config.d.ts +60 -0
- package/dist/_members/primitives/text/kinetic-type/index.d.ts +29 -0
- package/dist/_members/primitives/text/lower-third/config.d.ts +84 -0
- package/dist/_members/primitives/text/lower-third/index.d.ts +30 -0
- package/dist/_members/primitives/text/marker-highlight/config.d.ts +39 -0
- package/dist/_members/primitives/text/marker-highlight/index.d.ts +24 -0
- package/dist/_members/primitives/text/masked-slide-reveal/config.d.ts +30 -0
- package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +19 -0
- package/dist/_members/primitives/text/matrix-decode/config.d.ts +33 -0
- package/dist/_members/primitives/text/matrix-decode/index.d.ts +21 -0
- package/dist/_members/primitives/text/quote-card/config.d.ts +21 -0
- package/dist/_members/primitives/text/quote-card/index.d.ts +23 -0
- package/dist/_members/primitives/text/rgb-glitch-text/config.d.ts +39 -0
- package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +27 -0
- package/dist/_members/primitives/text/shimmer-sweep/config.d.ts +30 -0
- package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +21 -0
- package/dist/_members/primitives/text/slot-machine-roll/config.d.ts +30 -0
- package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +19 -0
- package/dist/_members/primitives/text/staggered-fade-up/config.d.ts +39 -0
- package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +26 -0
- package/dist/_members/primitives/text/stat-counter/config.d.ts +33 -0
- package/dist/_members/primitives/text/stat-counter/index.d.ts +31 -0
- package/dist/_members/primitives/text/strikethrough-replace/config.d.ts +33 -0
- package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +21 -0
- package/dist/_members/primitives/text/text-effect/config.d.ts +24 -0
- package/dist/_members/primitives/text/text-effect/index.d.ts +29 -0
- package/dist/_members/primitives/text/text-fade-replace/config.d.ts +30 -0
- package/dist/_members/primitives/text/text-fade-replace/index.d.ts +19 -0
- package/dist/_members/primitives/text/token-stream/config.d.ts +21 -0
- package/dist/_members/primitives/text/token-stream/index.d.ts +25 -0
- package/dist/_members/primitives/text/tracking-in/config.d.ts +33 -0
- package/dist/_members/primitives/text/tracking-in/index.d.ts +21 -0
- package/dist/_members/primitives/text/typewriter/config.d.ts +36 -0
- package/dist/_members/primitives/text/typewriter/index.d.ts +26 -0
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +19 -0
- package/dist/_members/primitives/transitions/code-diff-wipe/config.d.ts +36 -0
- package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +21 -0
- package/dist/_members/primitives/transitions/directional-wipe/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/frosted-glass-wipe/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/glitch-cut/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +21 -0
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +24 -0
- package/dist/_members/primitives/transitions/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/index.js +67 -0
- package/dist/_members/primitives/transitions/index.js.map +1 -0
- package/dist/_members/primitives/transitions/ink-wipe/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +13 -0
- package/dist/_members/primitives/transitions/kinetic-type-mask/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +20 -0
- package/dist/_members/primitives/transitions/light-leak/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/light-leak/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/luma-matte/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/luma-matte/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/morph/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/morph/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/spatial-push/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/spatial-push/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/swipe-transition-wipe/config.d.ts +18 -0
- package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +22 -0
- package/dist/_members/primitives/transitions/zoom-through/config.d.ts +39 -0
- package/dist/_members/primitives/transitions/zoom-through/index.d.ts +12 -0
- package/dist/_members/primitives/transitions/zoom-through-transition/config.d.ts +24 -0
- package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/config.d.ts +48 -0
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +25 -0
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +16 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/before-after-slider/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/benchmark-bars/config.d.ts +86 -0
- package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +25 -0
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/browser-flow/config.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/config.d.ts +36 -0
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +32 -0
- package/dist/_members/primitives/ui-blocks/chat-exchange/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/code-accordion/config.d.ts +42 -0
- package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/context-meter/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/cursor-flow/config.d.ts +84 -0
- package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +29 -0
- package/dist/_members/primitives/ui-blocks/dashboard-populate/config.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/config.d.ts +120 -0
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +34 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +19 -0
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +17 -0
- package/dist/_members/primitives/ui-blocks/eval-scorecard/config.d.ts +48 -0
- package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/glass-code-block/config.d.ts +39 -0
- package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +22 -0
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/config.d.ts +141 -0
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +32 -0
- package/dist/_members/primitives/ui-blocks/index.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/index.js +76 -0
- package/dist/_members/primitives/ui-blocks/index.js.map +1 -0
- package/dist/_members/primitives/ui-blocks/metric-gauge/config.d.ts +46 -0
- package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/morphing-modal/config.d.ts +141 -0
- package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +35 -0
- package/dist/_members/primitives/ui-blocks/pipeline-journey/config.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/progress-steps/config.d.ts +51 -0
- package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +22 -0
- package/dist/_members/primitives/ui-blocks/reasoning-trace/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/simulated-cursor/config.d.ts +69 -0
- package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +63 -0
- package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +39 -0
- package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/tool-call-stack/config.d.ts +54 -0
- package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/config.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/config.d.ts +90 -0
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/voice-waveform/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +20 -0
- package/dist/_members/primitives/version-map.json +105 -0
- package/dist/_members/primitives/workspace.d.ts +51 -0
- package/dist/_members/primitives/workspace.js +60 -0
- package/dist/_members/primitives/workspace.js.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts +64 -0
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -0
- package/dist/_members/render-harness/contractRender.d.ts +43 -0
- package/dist/_members/render-harness/contractRender.d.ts.map +1 -0
- package/dist/_members/render-harness/extractSegments.d.ts +53 -0
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -0
- package/dist/_members/render-harness/index.d.ts +30 -0
- package/dist/_members/render-harness/index.d.ts.map +1 -0
- package/dist/_members/render-harness/localRender.d.ts +167 -0
- package/dist/_members/render-harness/localRender.d.ts.map +1 -0
- package/dist/_members/render-harness/materializeSources.d.ts +29 -0
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -0
- package/dist/_members/render-harness/mediaServer.d.ts +22 -0
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts +63 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -0
- package/dist/_members/render-harness/resolveAssets.d.ts +33 -0
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -0
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +23 -0
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -0
- package/dist/account-model/testing.d.ts +1 -0
- package/dist/account-model/testing.js +145 -0
- package/dist/account-model/types.d.ts +1 -0
- package/dist/account-model/types.js +0 -0
- package/dist/account-model/validators.d.ts +1 -0
- package/dist/account-model/validators.js +26 -0
- package/dist/account-model.d.ts +1 -0
- package/dist/account-model.js +26 -0
- package/dist/animate.d.ts +1 -0
- package/dist/animate.js +79412 -0
- package/dist/authoring/build-tools.d.ts +1 -0
- package/dist/authoring/build-tools.js +29 -0
- package/dist/authoring/capabilities.d.ts +1 -0
- package/dist/authoring/capabilities.js +11 -0
- package/dist/authoring/composer.d.ts +1 -0
- package/dist/authoring/composer.js +53 -0
- package/dist/authoring/context.d.ts +1 -0
- package/dist/authoring/context.js +14 -0
- package/dist/authoring/models.d.ts +1 -0
- package/dist/authoring/models.js +14 -0
- package/dist/authoring/pipelineTrace.d.ts +1 -0
- package/dist/authoring/pipelineTrace.js +7 -0
- package/dist/authoring/prompts.d.ts +1 -0
- package/dist/authoring/prompts.js +29 -0
- package/dist/authoring/providers.d.ts +1 -0
- package/dist/authoring/providers.js +99 -0
- package/dist/authoring/resource-routing.d.ts +1 -0
- package/dist/authoring/resource-routing.js +206 -0
- package/dist/authoring/resources.d.ts +1 -0
- package/dist/authoring/resources.js +35 -0
- package/dist/authoring/tools.d.ts +1 -0
- package/dist/authoring/tools.js +29 -0
- package/dist/authoring/transpileComponent.d.ts +1 -0
- package/dist/authoring/transpileComponent.js +2248 -0
- package/dist/authoring/transpileHelper.d.ts +1 -0
- package/dist/authoring/transpileHelper.js +9 -0
- package/dist/authoring/types.d.ts +1 -0
- package/dist/authoring/types.js +0 -0
- package/dist/authoring.d.ts +1 -0
- package/dist/authoring.js +1295 -0
- package/dist/brand-derivation/constants.d.ts +1 -0
- package/dist/brand-derivation/constants.js +11 -0
- package/dist/brand-derivation.d.ts +1 -0
- package/dist/brand-derivation.js +23 -0
- package/dist/chunk-2ESYSVXG.js +48 -0
- package/dist/chunk-37NJ27UU.js +501 -0
- package/dist/chunk-52AHXNKM.js +435 -0
- package/dist/chunk-5I7VDCAC.js +15647 -0
- package/dist/chunk-6CMVBTTP.js +1933 -0
- package/dist/chunk-6EQXLEP6.js +194 -0
- package/dist/chunk-6QJ3V3VS.js +1444 -0
- package/dist/chunk-7DHP4ESU.js +138 -0
- package/dist/chunk-7GISRVON.js +14176 -0
- package/dist/chunk-7PA7FGLD.js +609 -0
- package/dist/chunk-ATAF24QG.js +735 -0
- package/dist/chunk-AWT3P5ZN.js +1609 -0
- package/dist/chunk-B4VMU2IJ.js +211 -0
- package/dist/chunk-BDMTUEEZ.js +19 -0
- package/dist/chunk-BRKJKB33.js +683 -0
- package/dist/chunk-CX2IIQ4R.js +111 -0
- package/dist/chunk-D2EG7J7X.js +31 -0
- package/dist/chunk-DENF4TPI.js +249 -0
- package/dist/chunk-DIBOJJMU.js +16838 -0
- package/dist/chunk-DLF4WVSE.js +9 -0
- package/dist/chunk-DSNG6WLU.js +82 -0
- package/dist/chunk-EA6MYCYW.js +135 -0
- package/dist/chunk-EAUSEGB7.js +420 -0
- package/dist/chunk-ELLSET2N.js +195 -0
- package/dist/chunk-EMGFZ3PR.js +14 -0
- package/dist/chunk-FUWJOVVK.js +3633 -0
- package/dist/chunk-G3PBH53P.js +85 -0
- package/dist/chunk-G75E7YA4.js +11883 -0
- package/dist/chunk-GBRNYH7W.js +72 -0
- package/dist/chunk-GH27OS5S.js +104 -0
- package/dist/chunk-GULDS3VE.js +41 -0
- package/dist/chunk-H5LMJKZU.js +0 -0
- package/dist/chunk-HI4UTTPS.js +954 -0
- package/dist/chunk-JCZQT7K3.js +3266 -0
- package/dist/chunk-JD77Y2WM.js +3423 -0
- package/dist/chunk-JF4JJAFP.js +10 -0
- package/dist/chunk-JMURQODM.js +438 -0
- package/dist/chunk-JOURGVOR.js +27 -0
- package/dist/chunk-JRQVPFLF.js +459 -0
- package/dist/chunk-KF5ETMKB.js +544 -0
- package/dist/chunk-KYRDKK2D.js +47 -0
- package/dist/chunk-LD5ZOUFT.js +55 -0
- package/dist/chunk-M3I5LMAB.js +426 -0
- package/dist/chunk-MC5DLSEV.js +202 -0
- package/dist/chunk-MCBUX5XV.js +70 -0
- package/dist/chunk-MFHXCHRI.js +33 -0
- package/dist/chunk-MMEJ3Y7E.js +327 -0
- package/dist/chunk-MVEE6HEC.js +8512 -0
- package/dist/chunk-N67PDTKQ.js +1419 -0
- package/dist/chunk-NDKERSXY.js +1296 -0
- package/dist/chunk-NV4I6GJV.js +1091 -0
- package/dist/chunk-OIRUO5P7.js +397 -0
- package/dist/chunk-P43IE4WB.js +181 -0
- package/dist/chunk-QGAWDLYX.js +92 -0
- package/dist/chunk-QH3YI3ND.js +100 -0
- package/dist/chunk-QLAQHR3L.js +254 -0
- package/dist/chunk-RHVLQNYF.js +20 -0
- package/dist/chunk-S3P5BFFL.js +2265 -0
- package/dist/chunk-SIGGQRY2.js +8483 -0
- package/dist/chunk-TULRCY6U.js +729 -0
- package/dist/chunk-TWQOKKAF.js +859 -0
- package/dist/chunk-U3JPILZS.js +15 -0
- package/dist/chunk-U4V4FZGE.js +20 -0
- package/dist/chunk-UEI3NLNK.js +127 -0
- package/dist/chunk-V43Y7IE4.js +3621 -0
- package/dist/chunk-VIVQHIGZ.js +4319 -0
- package/dist/chunk-W35ZMOXB.js +23 -0
- package/dist/chunk-WB2VFDQZ.js +58 -0
- package/dist/chunk-WREYUH2E.js +104 -0
- package/dist/chunk-WZTTZHNR.js +3339 -0
- package/dist/chunk-XELS2BGA.js +13 -0
- package/dist/chunk-XLIPPLG3.js +18 -0
- package/dist/chunk-YA3OR2KK.js +249 -0
- package/dist/chunk-ZE76SSRT.js +358 -0
- package/dist/chunk-ZFEXATWN.js +46 -0
- package/dist/chunk-ZSZABOE5.js +425 -0
- package/dist/compose/renderer.d.ts +1 -0
- package/dist/compose/renderer.js +173 -0
- package/dist/compose.d.ts +1 -0
- package/dist/compose.js +76 -0
- package/dist/composition/audio.d.ts +1 -0
- package/dist/composition/audio.js +63 -0
- package/dist/composition/autozoom.d.ts +1 -0
- package/dist/composition/autozoom.js +76 -0
- package/dist/composition/brand-kit.d.ts +1 -0
- package/dist/composition/brand-kit.js +34 -0
- package/dist/composition/brief.d.ts +1 -0
- package/dist/composition/brief.js +112 -0
- package/dist/composition/depth.d.ts +1 -0
- package/dist/composition/depth.js +12 -0
- package/dist/composition/fixtures.d.ts +1 -0
- package/dist/composition/fixtures.js +154 -0
- package/dist/composition/fonts.d.ts +1 -0
- package/dist/composition/fonts.js +74 -0
- package/dist/composition/graphics-plan.d.ts +1 -0
- package/dist/composition/graphics-plan.js +400 -0
- package/dist/composition/invariants.d.ts +1 -0
- package/dist/composition/invariants.js +49 -0
- package/dist/composition/ops.d.ts +1 -0
- package/dist/composition/ops.js +53 -0
- package/dist/composition/primitive-catalog.d.ts +1 -0
- package/dist/composition/primitive-catalog.js +60 -0
- package/dist/composition/projection.d.ts +1 -0
- package/dist/composition/projection.js +119 -0
- package/dist/composition/reframe/coverage.d.ts +1 -0
- package/dist/composition/reframe/coverage.js +20 -0
- package/dist/composition/reframe/kenBurns.d.ts +1 -0
- package/dist/composition/reframe/kenBurns.js +53 -0
- package/dist/composition/reframe/shotScale.d.ts +1 -0
- package/dist/composition/reframe/shotScale.js +25 -0
- package/dist/composition/reframe/trajectory.d.ts +1 -0
- package/dist/composition/reframe/trajectory.js +17 -0
- package/dist/composition/reframe.d.ts +1 -0
- package/dist/composition/reframe.js +39 -0
- package/dist/composition/timeline.d.ts +1 -0
- package/dist/composition/timeline.js +70 -0
- package/dist/composition/types.d.ts +1 -0
- package/dist/composition/types.js +0 -0
- package/dist/composition/validators/graphic-kinds.d.ts +1 -0
- package/dist/composition/validators/graphic-kinds.js +9 -0
- package/dist/composition/validators.d.ts +1 -0
- package/dist/composition/validators.js +180 -0
- package/dist/composition-ops.d.ts +1 -0
- package/dist/composition-ops.js +882 -0
- package/dist/composition.d.ts +1 -0
- package/dist/composition.js +433 -0
- package/dist/context-CEAKQ5T7.js +14 -0
- package/dist/core/render.d.ts +1 -0
- package/dist/core/render.js +105 -0
- package/dist/core/select.d.ts +1 -0
- package/dist/core/select.js +42 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/core/types.js +0 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +38 -0
- package/dist/dist-LAJ2363K.js +545 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.js +17 -0
- package/dist/foundation/codes.d.ts +1 -0
- package/dist/foundation/codes.js +7 -0
- package/dist/foundation/primitives.d.ts +1 -0
- package/dist/foundation/primitives.js +13 -0
- package/dist/foundation.d.ts +1 -0
- package/dist/foundation.js +17 -0
- package/dist/hls-HD4C5G6W.js +33000 -0
- package/dist/magic-string.es-SDTMJBWP.js +1308 -0
- package/dist/mcp/adapter.d.ts +1 -0
- package/dist/mcp/adapter.js +670 -0
- package/dist/mcp/core.d.ts +1 -0
- package/dist/mcp/core.js +41 -0
- package/dist/mcp/curation.d.ts +1 -0
- package/dist/mcp/curation.js +23 -0
- package/dist/mcp/executor.d.ts +1 -0
- package/dist/mcp/executor.js +13 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +27 -0
- package/dist/mcp.d.ts +1 -0
- package/dist/mcp.js +138 -0
- package/dist/media-model/media-kind.d.ts +1 -0
- package/dist/media-model/media-kind.js +108 -0
- package/dist/media-model/testing.d.ts +1 -0
- package/dist/media-model/testing.js +16029 -0
- package/dist/media-model/transcriptSearch.d.ts +1 -0
- package/dist/media-model/transcriptSearch.js +32 -0
- package/dist/media-model.d.ts +1 -0
- package/dist/media-model.js +154 -0
- package/dist/nle-export/server.d.ts +1 -0
- package/dist/nle-export/server.js +25658 -0
- package/dist/nle-export/xml.d.ts +1 -0
- package/dist/nle-export/xml.js +23102 -0
- package/dist/nle-export.d.ts +1 -0
- package/dist/nle-export.js +313 -0
- package/dist/perception.d.ts +1 -0
- package/dist/perception.js +145 -0
- package/dist/plane/conformance.d.ts +1 -0
- package/dist/plane/conformance.js +13 -0
- package/dist/plane/contract.d.ts +1 -0
- package/dist/plane/contract.js +31 -0
- package/dist/plane.d.ts +1 -0
- package/dist/plane.js +13 -0
- package/dist/primitives/backgrounds.d.ts +1 -0
- package/dist/primitives/backgrounds.js +32 -0
- package/dist/primitives/captions.d.ts +1 -0
- package/dist/primitives/captions.js +629 -0
- package/dist/primitives/effects.d.ts +1 -0
- package/dist/primitives/effects.js +30 -0
- package/dist/primitives/hero-text.d.ts +1 -0
- package/dist/primitives/hero-text.js +14 -0
- package/dist/primitives/layouts.d.ts +1 -0
- package/dist/primitives/layouts.js +24 -0
- package/dist/primitives/lib/easings.d.ts +1 -0
- package/dist/primitives/lib/easings.js +25 -0
- package/dist/primitives/lib/index.d.ts +1 -0
- package/dist/primitives/lib/index.js +78 -0
- package/dist/primitives/lib/palette.d.ts +1 -0
- package/dist/primitives/lib/palette.js +71 -0
- package/dist/primitives/lib/preview.d.ts +1 -0
- package/dist/primitives/lib/preview.js +8 -0
- package/dist/primitives/lib/schema.d.ts +1 -0
- package/dist/primitives/lib/schema.js +12 -0
- package/dist/primitives/lib/seeded-random.d.ts +1 -0
- package/dist/primitives/lib/seeded-random.js +13 -0
- package/dist/primitives/lib/text/contrast.d.ts +1 -0
- package/dist/primitives/lib/text/contrast.js +11 -0
- package/dist/primitives/lib/text/fill.d.ts +1 -0
- package/dist/primitives/lib/text/fill.js +7 -0
- package/dist/primitives/lib/text/fitText.d.ts +1 -0
- package/dist/primitives/lib/text/fitText.js +10 -0
- package/dist/primitives/lib/text/marker.d.ts +1 -0
- package/dist/primitives/lib/text/marker.js +7 -0
- package/dist/primitives/lib/text/motion.d.ts +1 -0
- package/dist/primitives/lib/text/motion.js +15 -0
- package/dist/primitives/lib/text/recolor.d.ts +1 -0
- package/dist/primitives/lib/text/recolor.js +7 -0
- package/dist/primitives/lib/text/spec.d.ts +1 -0
- package/dist/primitives/lib/text/spec.js +0 -0
- package/dist/primitives/lib/text/stage.d.ts +1 -0
- package/dist/primitives/lib/text/stage.js +7 -0
- package/dist/primitives/lib/text/typeface.d.ts +1 -0
- package/dist/primitives/lib/text/typeface.js +7 -0
- package/dist/primitives/lib/tokens.d.ts +1 -0
- package/dist/primitives/lib/tokens.js +24 -0
- package/dist/primitives/lib/types.d.ts +1 -0
- package/dist/primitives/lib/types.js +0 -0
- package/dist/primitives/lib.d.ts +1 -0
- package/dist/primitives/lib.js +78 -0
- package/dist/primitives/params-required.json +153 -0
- package/dist/primitives/scenes.d.ts +1 -0
- package/dist/primitives/scenes.js +25 -0
- package/dist/primitives/subject-foreground.d.ts +1 -0
- package/dist/primitives/subject-foreground.js +28 -0
- package/dist/primitives/text.d.ts +1 -0
- package/dist/primitives/text.js +57 -0
- package/dist/primitives/transitions.d.ts +1 -0
- package/dist/primitives/transitions.js +66 -0
- package/dist/primitives/ui-blocks.d.ts +1 -0
- package/dist/primitives/ui-blocks.js +76 -0
- package/dist/primitives/version-map.json +105 -0
- package/dist/primitives/workspace.d.ts +1 -0
- package/dist/primitives/workspace.js +25 -0
- package/dist/primitives.d.ts +1 -0
- package/dist/primitives.js +65 -0
- package/dist/render-harness/sandboxGlobalSpecs.d.ts +1 -0
- package/dist/render-harness/sandboxGlobalSpecs.js +13 -0
- package/dist/render-harness.d.ts +1 -0
- package/dist/render-harness.js +1019 -0
- package/dist/token-RGFIT24D.js +69 -0
- package/dist/token-util-GPLSGYVO.js +5 -0
- package/dist/vision_bundle-5Y376MAR.js +4084 -0
- package/package.json +493 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* select/model.ts — the candidate-agnostic data model for the Selector core.
|
|
3
|
+
*
|
|
4
|
+
* Four nouns (selector-abstraction spec §1): Candidate, Signal, SelectorPolicy,
|
|
5
|
+
* Advisory. The CORE (`select.ts`) scores over these and reads ONLY `candidateId`,
|
|
6
|
+
* `Signal.value/confidence`, and `policy` — NEVER `Candidate.kind`,
|
|
7
|
+
* `Candidate.timebase`, or any geometry (the §8 rot-guard, enforced by a test AND
|
|
8
|
+
* by `select()` receiving a projected `CoreCandidate`, not the full `Candidate`).
|
|
9
|
+
*
|
|
10
|
+
* Plain TS (no zod): the core package has no zod dependency and the vcam math it
|
|
11
|
+
* generalizes is plain TS. The spec's zod schemas describe the SHAPE; the fail-
|
|
12
|
+
* loud invariants live in `select.ts` as explicit guards (no silent fallbacks —
|
|
13
|
+
* `feedback_never_add_fallbacks`).
|
|
14
|
+
*/
|
|
15
|
+
/** The canonical sparse signal keys (selector-abstraction spec §1.2). Adding a
|
|
16
|
+
* signal = add a key + a provider + a weight; the CORE never changes. Reframe
|
|
17
|
+
* populates the geometric/instantaneous set; switch populates a DISJOINT set
|
|
18
|
+
* (L3 — shared container + combinator, not a shared vocabulary). There is NO
|
|
19
|
+
* `prominence` key: prominence is the SCORE, not a signal (§2/L5). */
|
|
20
|
+
export type SignalKey = 'size' | 'centrality' | 'persistence' | 'speaking' | 'activeSpeaker' | 'audioEnergy' | 'audioQuality' | 'topicRelevance' | 'scriptCue' | 'reaction' | 'visualQuality' | 'screenActivity' | 'energyBeat';
|
|
21
|
+
/** A per-candidate, per-moment ABSOLUTE calibrated scalar from a pluggable
|
|
22
|
+
* provider (spec §1.2). Sparse — an unmeasured signal is ABSENT (the key is
|
|
23
|
+
* missing), never zero. `value` is source-INDEPENDENT, NEVER softmax-across-
|
|
24
|
+
* candidates (G9). */
|
|
25
|
+
export interface Signal {
|
|
26
|
+
/** ABSOLUTE, calibrated, source-independent ∈ [0,1]. */
|
|
27
|
+
value: number;
|
|
28
|
+
/** Pre-calibration raw, for legibility + recalibration audits. */
|
|
29
|
+
rawScore?: number;
|
|
30
|
+
/** ∈ [0,1]; default 1. Scales the weighted contribution. */
|
|
31
|
+
confidence?: number;
|
|
32
|
+
/** Reasons-only ("speaking 0.91, 2 faces"); EXCLUDED from every hash. */
|
|
33
|
+
evidence?: string;
|
|
34
|
+
}
|
|
35
|
+
/** The sparse signal envelope for one candidate at one moment. Only relevant
|
|
36
|
+
* providers populate a key; an absent key means NOT MEASURED. */
|
|
37
|
+
export type CandidateSignals = Partial<Record<SignalKey, Signal>>;
|
|
38
|
+
/** A selectable entity over time (spec §1.1). `kind`/`timebase`/`mediaId` are
|
|
39
|
+
* read ONLY by adapters (candidate-building, continuity, lowering), NEVER by the
|
|
40
|
+
* core. `candidateId` is STABLE + OPAQUE; an unknown id is rejected downstream,
|
|
41
|
+
* never remapped. */
|
|
42
|
+
export interface Candidate {
|
|
43
|
+
candidateId: string;
|
|
44
|
+
/** Read ONLY by adapters, NEVER by the core (the rot-guard invariant). */
|
|
45
|
+
kind: 'subject' | 'source' | 'broll';
|
|
46
|
+
/** Time mapping onto the SHARED grid. The adapter resolves every timebase onto
|
|
47
|
+
* the grid BEFORE the core scores, so the core treats time as already-aligned
|
|
48
|
+
* and never reads `timebase.mode` (L4). */
|
|
49
|
+
timebase: CandidateTimebase;
|
|
50
|
+
/** Agent-declared semantic tag ("wide"/"screen"/"webcam"/"library"). */
|
|
51
|
+
role?: string;
|
|
52
|
+
/** source/broll resolve to a MediaClipSource at author time. */
|
|
53
|
+
mediaId?: string;
|
|
54
|
+
/** Agent-legible; EXCLUDED from every hash. */
|
|
55
|
+
label?: string;
|
|
56
|
+
}
|
|
57
|
+
export type CandidateTimebase = {
|
|
58
|
+
mode: 'aligned';
|
|
59
|
+
} | {
|
|
60
|
+
mode: 'declared-offset';
|
|
61
|
+
offsetSec: number;
|
|
62
|
+
} | {
|
|
63
|
+
mode: 'source-window';
|
|
64
|
+
sourceInSec: number;
|
|
65
|
+
sourceOutSec: number;
|
|
66
|
+
};
|
|
67
|
+
/** The projection the CORE actually receives — `select()` is typed against THIS,
|
|
68
|
+
* not the full `Candidate`, so it STRUCTURALLY cannot read `kind`/`timebase`/
|
|
69
|
+
* geometry (the rot-guard is a type, not a hope; spec §8). The adapter does the
|
|
70
|
+
* projection. */
|
|
71
|
+
export interface CoreCandidate {
|
|
72
|
+
/** OPAQUE stable id — the ONLY candidate field the core may read. */
|
|
73
|
+
id: string;
|
|
74
|
+
/** Per-moment sparse signals over the timeline grid. `signals[t]` is the
|
|
75
|
+
* envelope at grid tick `t`. */
|
|
76
|
+
signals: CandidateSignals[];
|
|
77
|
+
}
|
|
78
|
+
/** A declarative clause over a candidate's signals/role at a moment (eligibility
|
|
79
|
+
* + rules). An eligibility gate is AND-of-clauses; a candidate failing it is not
|
|
80
|
+
* scorable that moment (spec §1.3). */
|
|
81
|
+
export interface WhenClause {
|
|
82
|
+
signal?: SignalKey;
|
|
83
|
+
gte?: number;
|
|
84
|
+
role?: string;
|
|
85
|
+
topicMatches?: string;
|
|
86
|
+
}
|
|
87
|
+
export type EligibilityClause = WhenClause;
|
|
88
|
+
export interface SelectorRule {
|
|
89
|
+
when: {
|
|
90
|
+
all?: WhenClause[];
|
|
91
|
+
any?: WhenClause[];
|
|
92
|
+
};
|
|
93
|
+
then: {
|
|
94
|
+
preferCandidateId?: string;
|
|
95
|
+
preferRole?: string;
|
|
96
|
+
boost?: number;
|
|
97
|
+
force?: boolean;
|
|
98
|
+
};
|
|
99
|
+
/** EXCLUDED from hash. */
|
|
100
|
+
intent?: string;
|
|
101
|
+
}
|
|
102
|
+
/** A hard span pin (override ladder tier 0). */
|
|
103
|
+
export interface OverrideSpan {
|
|
104
|
+
startSec: number;
|
|
105
|
+
endSec: number;
|
|
106
|
+
candidateId: string;
|
|
107
|
+
}
|
|
108
|
+
/** The director's taste + stabilizer knobs (spec §1.3). `weights` is
|
|
109
|
+
* `DOMINANCE_WEIGHTS` made agent-supplied; `topK` selects a membership set
|
|
110
|
+
* (>1 = reframe set, 1 = switch pick). */
|
|
111
|
+
export interface SelectorPolicy {
|
|
112
|
+
/** sparse; THE taste knob. Σ weights·signal. */
|
|
113
|
+
weights: Partial<Record<SignalKey, number>>;
|
|
114
|
+
/** absolute per-signal floor → `__hold__` below it. */
|
|
115
|
+
floor?: Partial<Record<SignalKey, number>>;
|
|
116
|
+
/** multi-signal AND/OR gate (NOT a per-signal floor — §2 passesGate). */
|
|
117
|
+
eligibility?: EligibilityClause[];
|
|
118
|
+
/** declarative "prefer X when Y". */
|
|
119
|
+
rules?: SelectorRule[];
|
|
120
|
+
/** 1 = pick one; >1 = membership set (reframe top-K). */
|
|
121
|
+
topK: number;
|
|
122
|
+
/** the OVERRIDE LADDER — ONE ordered eval (spec §1.4 step 1). */
|
|
123
|
+
overrides?: OverrideSpan[];
|
|
124
|
+
/** HONEST: pin a CAMERA/candidate (NOT a person). */
|
|
125
|
+
lockSourceId?: string;
|
|
126
|
+
/** null until cross-source identity ships. */
|
|
127
|
+
lockPersonId?: string | null;
|
|
128
|
+
/** free-text; EXCLUDED from hash. */
|
|
129
|
+
intent?: string;
|
|
130
|
+
}
|
|
131
|
+
/** The held/abstain sentinel — first-class, not a magic empty (spec §1.4 step 3).
|
|
132
|
+
* Lowers per kind: sources → stay on incumbent/primary, no cut; subjects →
|
|
133
|
+
* center-hold the crop. */
|
|
134
|
+
export declare const HOLD: "__hold__";
|
|
135
|
+
export type Chosen = string | typeof HOLD;
|
|
136
|
+
export interface CandidateScore {
|
|
137
|
+
candidateId: string;
|
|
138
|
+
score: number;
|
|
139
|
+
/** signalKey → weighted contribution (legibility — the agent reweights from
|
|
140
|
+
* evidence). */
|
|
141
|
+
contributions: Partial<Record<SignalKey, number>>;
|
|
142
|
+
}
|
|
143
|
+
/** Which ladder tier / mechanism produced the choice (legibility). */
|
|
144
|
+
export type PacingNote = 'argmax' | 'min-hold' | 'cooldown' | 'hysteresis' | 'gate-snap' | 'rule' | 'override' | 'lock' | 'hold';
|
|
145
|
+
export interface SelectorSegment {
|
|
146
|
+
startSec: number;
|
|
147
|
+
endSec: number;
|
|
148
|
+
/** candidateId | abstain. */
|
|
149
|
+
chosen: Chosen;
|
|
150
|
+
/** topK>1 membership set (reframe; the lowering unions it). */
|
|
151
|
+
alsoChosen: string[];
|
|
152
|
+
/** sorted desc by score. */
|
|
153
|
+
perCandidateScores: CandidateScore[];
|
|
154
|
+
reasons: string[];
|
|
155
|
+
pacingNote?: PacingNote;
|
|
156
|
+
}
|
|
157
|
+
/** The DERIVED, read-only advisory (spec §1.4). Keyed to envelope+policy, NEVER
|
|
158
|
+
* to the authored composition; never auto-applied. */
|
|
159
|
+
export interface Advisory {
|
|
160
|
+
advisoryVersion: 1;
|
|
161
|
+
selectorVersion: string;
|
|
162
|
+
/** non-overlapping, tile the timeline. */
|
|
163
|
+
segments: SelectorSegment[];
|
|
164
|
+
/** discrete-instance surfacing only (continuous instances leave empty +
|
|
165
|
+
* populate holdSpans). Phase 2 (switch). */
|
|
166
|
+
suppressedSwitches: Array<{
|
|
167
|
+
atSec: number;
|
|
168
|
+
wouldHaveBeenCandidateId: string;
|
|
169
|
+
byScore: number;
|
|
170
|
+
blockedBy: string;
|
|
171
|
+
releaseAtSec: number;
|
|
172
|
+
}>;
|
|
173
|
+
/** continuous-instance deadzone holds (reframe). */
|
|
174
|
+
holdSpans: Array<{
|
|
175
|
+
startSec: number;
|
|
176
|
+
endSec: number;
|
|
177
|
+
}>;
|
|
178
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* select/model.ts — the candidate-agnostic data model for the Selector core.
|
|
3
|
+
*
|
|
4
|
+
* Four nouns (selector-abstraction spec §1): Candidate, Signal, SelectorPolicy,
|
|
5
|
+
* Advisory. The CORE (`select.ts`) scores over these and reads ONLY `candidateId`,
|
|
6
|
+
* `Signal.value/confidence`, and `policy` — NEVER `Candidate.kind`,
|
|
7
|
+
* `Candidate.timebase`, or any geometry (the §8 rot-guard, enforced by a test AND
|
|
8
|
+
* by `select()` receiving a projected `CoreCandidate`, not the full `Candidate`).
|
|
9
|
+
*
|
|
10
|
+
* Plain TS (no zod): the core package has no zod dependency and the vcam math it
|
|
11
|
+
* generalizes is plain TS. The spec's zod schemas describe the SHAPE; the fail-
|
|
12
|
+
* loud invariants live in `select.ts` as explicit guards (no silent fallbacks —
|
|
13
|
+
* `feedback_never_add_fallbacks`).
|
|
14
|
+
*/
|
|
15
|
+
/** The held/abstain sentinel — first-class, not a magic empty (spec §1.4 step 3).
|
|
16
|
+
* Lowers per kind: sources → stay on incumbent/primary, no cut; subjects →
|
|
17
|
+
* center-hold the crop. */
|
|
18
|
+
export const HOLD = '__hold__';
|
|
@@ -0,0 +1,63 @@
|
|
|
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 type { CoreCandidate, SelectorPolicy, SignalKey, CandidateScore, SelectorSegment } from './model.js';
|
|
26
|
+
export interface SelectOptions {
|
|
27
|
+
/** Grid tick length in seconds — each tick `t` becomes one [t·dt,(t+1)·dt)
|
|
28
|
+
* micro-segment before the stabilizer coalesces. */
|
|
29
|
+
dtSec: number;
|
|
30
|
+
/** Number of grid ticks (the timeline length). */
|
|
31
|
+
ticks: number;
|
|
32
|
+
selectorVersion: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The core selection over an already-aligned grid. Produces a per-TICK scored
|
|
36
|
+
* advisory (one `SelectorSegment` per tick, tiling the timeline). The per-kind
|
|
37
|
+
* stabilizer (`stabilize.ts`) then coalesces ticks under hysteresis/deadzone and
|
|
38
|
+
* surfaces holds — this function is the SCORE half only.
|
|
39
|
+
*
|
|
40
|
+
* Override ladder (spec §1.4 step 1, ONE ordered evaluation):
|
|
41
|
+
* tier 0 overrides[] (hard span pin) > tier 1 lock* > tier 2 force rule >
|
|
42
|
+
* tier 3 weighted score + eligibility + floor/__hold__.
|
|
43
|
+
* A SAME-TIER conflict (two overlapping overrides, or two firing force rules at
|
|
44
|
+
* one tick) FAILS LOUD (`selector_override_conflict` — the Gap.strict() lesson).
|
|
45
|
+
*/
|
|
46
|
+
export declare function select(candidates: CoreCandidate[], policy: SelectorPolicy, opts: SelectOptions): SelectorSegment[];
|
|
47
|
+
/**
|
|
48
|
+
* The shared scoring COMBINATOR as a pure ONE-SHOT ranking primitive — the
|
|
49
|
+
* durable `Σ weights·signal` win (spec §2). Both the per-tick `select()` (switch)
|
|
50
|
+
* and the reframe's segment-wide pool ranking call this, so there is ONE scoring
|
|
51
|
+
* implementation. `weightKeys` is the CALLER's iteration order: the reframe
|
|
52
|
+
* subjects adapter passes `{size,centrality,persistence,speaking}` in vcam's
|
|
53
|
+
* `DOMINANCE_WEIGHTS` order, so the float sum is byte-identical to `dominance()`.
|
|
54
|
+
*
|
|
55
|
+
* Reads ONLY `id` + `signals.value/confidence` + `weights` — the rot-guard holds.
|
|
56
|
+
*/
|
|
57
|
+
export declare function scoreAndRank(candidates: Array<{
|
|
58
|
+
id: string;
|
|
59
|
+
signals: Partial<Record<SignalKey, {
|
|
60
|
+
value: number;
|
|
61
|
+
confidence?: number;
|
|
62
|
+
}>>;
|
|
63
|
+
}>, weights: Partial<Record<SignalKey, number>>): CandidateScore[];
|
|
@@ -0,0 +1,244 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
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
|
+
/** The continuity-stabilizer kinds (spec L1). */
|
|
24
|
+
export type StabilizerKind = 'selection-hysteresis' | 'geometric-deadzone' | 'incumbent-challenger' | 'presence-gate';
|
|
25
|
+
/** Per-frame presence of a candidate over the grid (the input to the membership
|
|
26
|
+
* state machine — `true` iff the candidate is tracked/present this frame). */
|
|
27
|
+
export type PresenceSeries = boolean[];
|
|
28
|
+
export interface SelectionHysteresisParams {
|
|
29
|
+
/** Frames a member must be present to ENTER the set (= round(ENTER_SEC·fps)). */
|
|
30
|
+
enterFrames: number;
|
|
31
|
+
/** Frames a member must be absent to LEAVE the set (= round(LEAVE_SEC·fps)). */
|
|
32
|
+
leaveFrames: number;
|
|
33
|
+
}
|
|
34
|
+
export interface SelectionHysteresisResult {
|
|
35
|
+
/** Per-frame: which member ids are IN the framed set this frame (after the
|
|
36
|
+
* enter/leave debounce AND present this frame). */
|
|
37
|
+
inThisFrame: string[][];
|
|
38
|
+
/** The union of ids that were ever in the set (the framed group). */
|
|
39
|
+
everIn: Set<string>;
|
|
40
|
+
/** True iff NO member ever cleared the ENTER debounce (a short clip) → the
|
|
41
|
+
* caller falls back to the static set (the vcam `usedFallback` bypass). */
|
|
42
|
+
usedFallback: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The per-id set-MEMBERSHIP hysteresis state machine — the `topK>1` selection
|
|
46
|
+
* stabilizer (spec §1.4 step 4; §2 maps it as CORE for reframe's membership).
|
|
47
|
+
* Lifted VERBATIM from `vcam/subjectSet.ts:306-343`: each member enters after
|
|
48
|
+
* `enterFrames` consecutive present frames and leaves after `leaveFrames` absent
|
|
49
|
+
* frames — independent per-id booleans. A member is FRAMED this frame iff it is
|
|
50
|
+
* IN the set AND present this frame.
|
|
51
|
+
*
|
|
52
|
+
* `usedFallback` is the short-segment bypass: a segment that ends before any
|
|
53
|
+
* member clears the ENTER debounce uses the static framed set (so a brief clip
|
|
54
|
+
* with a clear dominant subject is still framed, never center-held — the spec's
|
|
55
|
+
* `minSegmentForHysteresis` bypass).
|
|
56
|
+
*
|
|
57
|
+
* Pure. Byte-identical to the inline vcam logic — `framedIds` order drives the
|
|
58
|
+
* per-frame `here` order, so the adapter must pass ids in dominance order.
|
|
59
|
+
*/
|
|
60
|
+
export declare function stabilizeSelectionHysteresis(framedIds: string[], presence: (id: string, frame: number) => boolean, n: number, params: SelectionHysteresisParams): SelectionHysteresisResult;
|
|
61
|
+
export { cameraPath } from '../render/vcam/cameraPath.js';
|
|
62
|
+
export type { CropWindow } from '../render/vcam/cameraPath.js';
|
|
63
|
+
/** A surfaced switch the stabilizer SUPPRESSED (the discrete-instance boundary
|
|
64
|
+
* surfacing, spec §1.4 step 5 + Advisory.suppressedSwitches). */
|
|
65
|
+
export interface SuppressedSwitch {
|
|
66
|
+
/** Grid tick at which the challenger out-scored the incumbent but was held. */
|
|
67
|
+
atTick: number;
|
|
68
|
+
wouldHaveBeenId: string;
|
|
69
|
+
byScore: number;
|
|
70
|
+
/** Why the switch was blocked: 'min-hold' | 'enter-debounce' | 'switch-margin'
|
|
71
|
+
* | 'cooldown'. */
|
|
72
|
+
blockedBy: string;
|
|
73
|
+
/** Grid tick at which the block releases (when the incumbent's min-hold ends or
|
|
74
|
+
* the cooldown lapses) — null if it releases the moment the condition clears. */
|
|
75
|
+
releaseAtTick: number | null;
|
|
76
|
+
}
|
|
77
|
+
export interface IncumbentChallengerParams {
|
|
78
|
+
/** Frames the incumbent must hold before ANY switch is allowed (= round(minHoldSec·fps)). */
|
|
79
|
+
minHoldFrames: number;
|
|
80
|
+
/** Frames a challenger must continuously lead by `switchMargin` to take over
|
|
81
|
+
* (= round(enterSec·fps)). */
|
|
82
|
+
enterFrames: number;
|
|
83
|
+
/** Score margin a challenger must exceed the incumbent by to count as leading. */
|
|
84
|
+
switchMargin: number;
|
|
85
|
+
/** Frames after the incumbent is dethroned during which it cannot be re-entered
|
|
86
|
+
* (= round(cooldownSec·fps); default resolves to minHoldFrames upstream). */
|
|
87
|
+
cooldownFrames: number;
|
|
88
|
+
/** OPTIONAL forced variety: after this many held frames the incumbent must yield
|
|
89
|
+
* to the next-best challenger even without a margin lead (= round(maxHoldSec·fps)). */
|
|
90
|
+
maxHoldFrames?: number;
|
|
91
|
+
}
|
|
92
|
+
export interface IncumbentChallengerResult {
|
|
93
|
+
/** Per-tick STABILIZED winner id (the incumbent that survives hysteresis). The
|
|
94
|
+
* caller coalesces equal runs into cut segments. */
|
|
95
|
+
chosenPerTick: string[];
|
|
96
|
+
/** The switches the stabilizer suppressed (anti-ping-pong audit trail). */
|
|
97
|
+
suppressed: SuppressedSwitch[];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The incumbent/challenger selection stabilizer — the `topK=1` (switch cut)
|
|
101
|
+
* anti-ping-pong machine (spec §1.4 step 4, NEW code; L1). Inputs are the per-tick
|
|
102
|
+
* RAW winner id (the score argmax for that tick) and the per-tick scores by id, so
|
|
103
|
+
* the stabilizer is candidate-AGNOSTIC (it reads ids + scalars + policy knobs).
|
|
104
|
+
*
|
|
105
|
+
* Rule (spec §3.2 + §1.3 knobs):
|
|
106
|
+
* - A challenger replaces the incumbent ONLY IF it leads the incumbent by
|
|
107
|
+
* `switchMargin` for `enterFrames` CONTINUOUS ticks AND the incumbent has held
|
|
108
|
+
* ≥ `minHoldFrames`.
|
|
109
|
+
* - `cooldownFrames` forbids re-entering the just-left incumbent for that long.
|
|
110
|
+
* - `maxHoldFrames` (optional) forces the incumbent to yield to the best
|
|
111
|
+
* challenger after that many held ticks even without a margin lead.
|
|
112
|
+
* - A `__hold__` raw winner (no candidate above floor) holds the incumbent (the
|
|
113
|
+
* source lowering: "stay on the incumbent, emit no cut").
|
|
114
|
+
*
|
|
115
|
+
* `scoreById(id, t)` returns the candidate's score at tick t (0 if not scored).
|
|
116
|
+
* Pure. Deterministic — no Date, no Map-order math.
|
|
117
|
+
*/
|
|
118
|
+
export declare function stabilizeIncumbentChallenger(rawWinnerPerTick: string[], scoreById: (id: string, tick: number) => number, n: number, params: IncumbentChallengerParams): IncumbentChallengerResult;
|
|
119
|
+
export interface PresenceGateParams {
|
|
120
|
+
/** Minimum frames an overlay must stay ON once shown (= round(minOnSec·fps)). */
|
|
121
|
+
minOnFrames: number;
|
|
122
|
+
/** Minimum frames between two ON windows of the SAME candidate
|
|
123
|
+
* (= round(minGapSec·fps)) — prevents flicker on/off. */
|
|
124
|
+
minGapFrames: number;
|
|
125
|
+
}
|
|
126
|
+
export interface PresenceWindow {
|
|
127
|
+
candidateId: string;
|
|
128
|
+
/** Inclusive start tick, exclusive end tick. */
|
|
129
|
+
startTick: number;
|
|
130
|
+
endTick: number;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The presence-gate stabilizer — overlay binary show/hide (spec §6.2 + L1, NEW
|
|
134
|
+
* code). Overlay is ADDITIVE (the primary is always underneath; there is no
|
|
135
|
+
* incumbent to dethrone), so this is NOT incumbent/challenger: it is a per-
|
|
136
|
+
* candidate binary "is this overlay on?" with min-on (no blink-out) and min-gap
|
|
137
|
+
* (no re-trigger flicker) hysteresis.
|
|
138
|
+
*
|
|
139
|
+
* `wantOnPerTick[t]` is the candidate id the adapter wants overlaid at tick t (the
|
|
140
|
+
* floor-cleared winner), or `__hold__` for "no overlay this tick" (primary alone).
|
|
141
|
+
* Output: coalesced ON windows per candidate, after the min-on / min-gap debounce.
|
|
142
|
+
*
|
|
143
|
+
* Reads ONLY ids + policy knobs (the rot-guard holds). Pure + deterministic.
|
|
144
|
+
*/
|
|
145
|
+
export declare function stabilizePresenceGate(wantOnPerTick: string[], n: number, params: PresenceGateParams): PresenceWindow[];
|