@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,73 @@
|
|
|
1
|
+
export function compactTimeline(clips, deletedRanges) {
|
|
2
|
+
const byClip = new Map();
|
|
3
|
+
for (const r of deletedRanges) {
|
|
4
|
+
if (!byClip.has(r.clipId))
|
|
5
|
+
byClip.set(r.clipId, []);
|
|
6
|
+
byClip.get(r.clipId).push(r);
|
|
7
|
+
}
|
|
8
|
+
const survivors = [];
|
|
9
|
+
const sortedClips = [...clips].sort((a, b) => a.timelineStart - b.timelineStart);
|
|
10
|
+
for (const clip of sortedClips) {
|
|
11
|
+
const clipDuration = clip.sourceOut - clip.sourceIn;
|
|
12
|
+
const ranges = (byClip.get(clip.id) ?? [])
|
|
13
|
+
.map(r => ({
|
|
14
|
+
start: Math.max(0, Math.min(r.startSec, clipDuration)),
|
|
15
|
+
end: Math.max(0, Math.min(r.endSec, clipDuration)),
|
|
16
|
+
}))
|
|
17
|
+
.filter(r => r.end > r.start)
|
|
18
|
+
.sort((a, b) => a.start - b.start);
|
|
19
|
+
const merged = [];
|
|
20
|
+
for (const r of ranges) {
|
|
21
|
+
const last = merged[merged.length - 1];
|
|
22
|
+
if (last && r.start <= last.end)
|
|
23
|
+
last.end = Math.max(last.end, r.end);
|
|
24
|
+
else
|
|
25
|
+
merged.push({ ...r });
|
|
26
|
+
}
|
|
27
|
+
const keep = [];
|
|
28
|
+
let cursor = 0;
|
|
29
|
+
for (const r of merged) {
|
|
30
|
+
if (r.start > cursor)
|
|
31
|
+
keep.push({ start: cursor, end: r.start });
|
|
32
|
+
cursor = r.end;
|
|
33
|
+
}
|
|
34
|
+
if (cursor < clipDuration)
|
|
35
|
+
keep.push({ start: cursor, end: clipDuration });
|
|
36
|
+
const anySplit = merged.length > 0;
|
|
37
|
+
keep.forEach((seg, idx) => {
|
|
38
|
+
survivors.push({
|
|
39
|
+
id: anySplit ? `${clip.id}__${idx}` : clip.id,
|
|
40
|
+
originalClipId: anySplit ? clip.id : undefined,
|
|
41
|
+
poolItemId: clip.poolItemId,
|
|
42
|
+
sourceIn: clip.sourceIn + seg.start,
|
|
43
|
+
sourceOut: clip.sourceIn + seg.end,
|
|
44
|
+
transitionIn: clip.transitionIn,
|
|
45
|
+
transitionDuration: clip.transitionDuration,
|
|
46
|
+
durationSec: seg.end - seg.start,
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
let tlCursor = 0;
|
|
51
|
+
return survivors.map(s => {
|
|
52
|
+
const timelineStart = tlCursor;
|
|
53
|
+
const timelineEnd = tlCursor + s.durationSec;
|
|
54
|
+
tlCursor = timelineEnd;
|
|
55
|
+
const { durationSec: _d, ...rest } = s;
|
|
56
|
+
const result = {
|
|
57
|
+
id: rest.id,
|
|
58
|
+
poolItemId: rest.poolItemId,
|
|
59
|
+
sourceIn: rest.sourceIn,
|
|
60
|
+
sourceOut: rest.sourceOut,
|
|
61
|
+
timelineStart,
|
|
62
|
+
timelineEnd,
|
|
63
|
+
};
|
|
64
|
+
if (rest.originalClipId !== undefined)
|
|
65
|
+
result.originalClipId = rest.originalClipId;
|
|
66
|
+
if (rest.transitionIn !== undefined)
|
|
67
|
+
result.transitionIn = rest.transitionIn;
|
|
68
|
+
if (rest.transitionDuration !== undefined)
|
|
69
|
+
result.transitionDuration = rest.transitionDuration;
|
|
70
|
+
return result;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=compact-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact-timeline.js","sourceRoot":"","sources":["../src/compact-timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { compactTimeline } from "./compact-timeline";
|
|
2
|
+
import { CompositionValidationError } from "./types";
|
|
3
|
+
import { getPrimitiveText } from "@cueframe/compose";
|
|
4
|
+
const EPSILON = 1e-6;
|
|
5
|
+
function sequenceRational(fps) {
|
|
6
|
+
if (Math.abs(fps - 29.97) < 0.01)
|
|
7
|
+
return { fpsNum: 30000, fpsDen: 1001 };
|
|
8
|
+
if (Math.abs(fps - 23.976) < 0.01)
|
|
9
|
+
return { fpsNum: 24000, fpsDen: 1001 };
|
|
10
|
+
if (Math.abs(fps - 59.94) < 0.01)
|
|
11
|
+
return { fpsNum: 60000, fpsDen: 1001 };
|
|
12
|
+
return { fpsNum: Math.round(fps), fpsDen: 1 };
|
|
13
|
+
}
|
|
14
|
+
export function compositionToClipExportInput(composition, trimmedRefs) {
|
|
15
|
+
// Validate overlaps/gaps against the ORIGINAL composition clips (compactTimeline
|
|
16
|
+
// re-lays-out clips contiguously by cursor, so it would hide these defects).
|
|
17
|
+
const originalSorted = [...composition.clips].sort((a, b) => a.timelineStart - b.timelineStart);
|
|
18
|
+
for (let i = 0; i < originalSorted.length - 1; i++) {
|
|
19
|
+
const cur = originalSorted[i], next = originalSorted[i + 1];
|
|
20
|
+
if (next.timelineStart < cur.timelineEnd - EPSILON) {
|
|
21
|
+
throw new CompositionValidationError("Composition spine overlaps — clips must not share timeline time in v1", { kind: "overlap", detail: `${cur.id} overlaps ${next.id}` });
|
|
22
|
+
}
|
|
23
|
+
if (next.timelineStart > cur.timelineEnd + EPSILON) {
|
|
24
|
+
throw new CompositionValidationError("Composition spine has a gap — clips must be contiguous in v1", { kind: "gap", detail: `${cur.id} ends at ${cur.timelineEnd}, ${next.id} starts at ${next.timelineStart}` });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const compacted = compactTimeline(composition.clips, composition.deletedRanges);
|
|
28
|
+
const sorted = [...compacted].sort((a, b) => a.timelineStart - b.timelineStart);
|
|
29
|
+
function findRef(clip) {
|
|
30
|
+
// Match by exact integer triple. Trim activity computed
|
|
31
|
+
// inFramesAtSourceRate via `round(sourceIn * mediaItemFps)` — we use
|
|
32
|
+
// the same formula here so the round-trip is deterministic regardless
|
|
33
|
+
// of whether mediaItem.frameRate is stored as 29.97 (decimal) while
|
|
34
|
+
// ffprobe reports 30000/1001 (rational).
|
|
35
|
+
const match = trimmedRefs.find(r => {
|
|
36
|
+
if (r.sourceId !== clip.poolItemId)
|
|
37
|
+
return false;
|
|
38
|
+
const expectedIn = Math.round(clip.sourceIn * r.mediaItemFps);
|
|
39
|
+
const expectedOut = Math.round(clip.sourceOut * r.mediaItemFps);
|
|
40
|
+
return (r.inFramesAtSourceRate === expectedIn &&
|
|
41
|
+
r.outFramesAtSourceRate === expectedOut);
|
|
42
|
+
});
|
|
43
|
+
if (!match) {
|
|
44
|
+
throw new CompositionValidationError("Missing trimmedRef for clip", { kind: "missing-trim", detail: `clip ${clip.id} (${clip.poolItemId} ${clip.sourceIn}-${clip.sourceOut}s)` });
|
|
45
|
+
}
|
|
46
|
+
return match;
|
|
47
|
+
}
|
|
48
|
+
const assetOrder = [];
|
|
49
|
+
const refForClip = new Map();
|
|
50
|
+
for (const clip of sorted) {
|
|
51
|
+
const ref = findRef(clip);
|
|
52
|
+
refForClip.set(clip.id, ref);
|
|
53
|
+
const key = `${ref.sourceId}::${ref.inFramesAtSourceRate}::${ref.outFramesAtSourceRate}`;
|
|
54
|
+
if (!assetOrder.includes(key))
|
|
55
|
+
assetOrder.push(key);
|
|
56
|
+
}
|
|
57
|
+
const assetIdByKey = new Map();
|
|
58
|
+
const refByKey = new Map();
|
|
59
|
+
for (const clip of sorted) {
|
|
60
|
+
const ref = refForClip.get(clip.id);
|
|
61
|
+
const key = `${ref.sourceId}::${ref.inFramesAtSourceRate}::${ref.outFramesAtSourceRate}`;
|
|
62
|
+
if (!refByKey.has(key))
|
|
63
|
+
refByKey.set(key, ref);
|
|
64
|
+
}
|
|
65
|
+
const assets = assetOrder.map((key, i) => {
|
|
66
|
+
const id = `a${i + 1}`;
|
|
67
|
+
assetIdByKey.set(key, id);
|
|
68
|
+
const ref = refByKey.get(key);
|
|
69
|
+
return {
|
|
70
|
+
id,
|
|
71
|
+
relPath: `media/${id}.mp4`,
|
|
72
|
+
displayName: ref.displayName,
|
|
73
|
+
sourceId: ref.sourceId,
|
|
74
|
+
originInFrames: ref.inFramesAtSourceRate,
|
|
75
|
+
originOutFrames: ref.outFramesAtSourceRate,
|
|
76
|
+
fpsNum: ref.sourceFpsNum,
|
|
77
|
+
fpsDen: ref.sourceFpsDen,
|
|
78
|
+
width: composition.width,
|
|
79
|
+
height: composition.height,
|
|
80
|
+
durationSec: ref.durationSec,
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
const { fpsNum, fpsDen } = sequenceRational(composition.fps);
|
|
84
|
+
const seqFps = fpsNum / fpsDen;
|
|
85
|
+
// Map: original (pre-split) TimelineClip id → spine item id (first segment)
|
|
86
|
+
const spineIdByOriginalClipId = new Map();
|
|
87
|
+
const spine = sorted.map((clip, idx) => {
|
|
88
|
+
const ref = refForClip.get(clip.id);
|
|
89
|
+
const sourceFps = ref.sourceFpsNum / ref.sourceFpsDen;
|
|
90
|
+
const key = `${ref.sourceId}::${ref.inFramesAtSourceRate}::${ref.outFramesAtSourceRate}`;
|
|
91
|
+
const spineId = `s${idx + 1}`;
|
|
92
|
+
const originalId = clip.originalClipId ?? clip.id;
|
|
93
|
+
if (!spineIdByOriginalClipId.has(originalId)) {
|
|
94
|
+
spineIdByOriginalClipId.set(originalId, spineId);
|
|
95
|
+
}
|
|
96
|
+
const inFrames = Math.round(ref.handleBeforeSec * sourceFps);
|
|
97
|
+
const clipLen = Math.round((clip.sourceOut - clip.sourceIn) * sourceFps);
|
|
98
|
+
return {
|
|
99
|
+
id: spineId,
|
|
100
|
+
assetId: assetIdByKey.get(key),
|
|
101
|
+
inFrames,
|
|
102
|
+
outFrames: inFrames + clipLen,
|
|
103
|
+
timelineStartFrames: Math.round(clip.timelineStart * seqFps),
|
|
104
|
+
timelineDurationFrames: Math.round((clip.timelineEnd - clip.timelineStart) * seqFps),
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
const markers = [];
|
|
108
|
+
if (composition.metadata?.cueframe?.hook) {
|
|
109
|
+
markers.push({
|
|
110
|
+
startFrames: 0,
|
|
111
|
+
durationFrames: 1,
|
|
112
|
+
name: composition.metadata.cueframe.hook,
|
|
113
|
+
kind: "hook",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
for (const label of composition.sceneLabels) {
|
|
117
|
+
const spineItemId = spineIdByOriginalClipId.get(label.clipId);
|
|
118
|
+
if (!spineItemId)
|
|
119
|
+
continue;
|
|
120
|
+
const spineItem = spine.find(s => s.id === spineItemId);
|
|
121
|
+
const timelineSec = (spineItem.timelineStartFrames / seqFps) + label.startSec;
|
|
122
|
+
markers.push({
|
|
123
|
+
startFrames: Math.round(timelineSec * seqFps),
|
|
124
|
+
durationFrames: 1,
|
|
125
|
+
name: label.text,
|
|
126
|
+
kind: "scene",
|
|
127
|
+
spineItemId,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const textOverlays = composition.overlays.map(o => ({
|
|
131
|
+
text: getPrimitiveText({ template: o.template, params: o.params ?? {} }) ?? "",
|
|
132
|
+
startFrames: o.startFrame,
|
|
133
|
+
durationFrames: o.durationInFrames,
|
|
134
|
+
}));
|
|
135
|
+
const durationFrames = spine.reduce((sum, s) => Math.max(sum, s.timelineStartFrames + s.timelineDurationFrames), 0);
|
|
136
|
+
return {
|
|
137
|
+
title: composition.metadata?.cueframe?.hook ?? "Clip Export",
|
|
138
|
+
hook: composition.metadata?.cueframe?.hook,
|
|
139
|
+
sequence: { fpsNum, fpsDen, width: composition.width, height: composition.height, durationFrames },
|
|
140
|
+
assets,
|
|
141
|
+
spine,
|
|
142
|
+
markers,
|
|
143
|
+
textOverlays,
|
|
144
|
+
audioTracks: [],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=composition-to-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-to-input.js","sourceRoot":"","sources":["../src/composition-to-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,WAA8B,EAC9B,WAAyB;IAEzB,iFAAiF;IACjF,6EAA6E;IAC7E,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAChG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC;YACnD,MAAM,IAAI,0BAA0B,CAClC,uEAAuE,EACvE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC;YACnD,MAAM,IAAI,0BAA0B,CAClC,8DAA8D,EAC9D,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,aAAa,EAAE,EAAE,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAEhF,SAAS,OAAO,CAAC,IAAkB;QACjC,wDAAwD;QACxD,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,CACL,CAAC,CAAC,oBAAoB,KAAK,UAAU;gBACrC,CAAC,CAAC,qBAAqB,KAAK,WAAW,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,0BAA0B,CAClC,6BAA6B,EAC7B,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC/B,OAAO;YACL,EAAE;YACF,OAAO,EAAE,SAAS,EAAE,MAAM;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,cAAc,EAAE,GAAG,CAAC,oBAAoB;YACxC,eAAe,EAAE,GAAG,CAAC,qBAAqB;YAC1C,MAAM,EAAE,GAAG,CAAC,YAAY;YACxB,MAAM,EAAE,GAAG,CAAC,YAAY;YACxB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/B,4EAA4E;IAC5E,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1D,MAAM,KAAK,GAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACzF,MAAM,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;QACzE,OAAO;YACL,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE;YAC/B,QAAQ;YACR,SAAS,EAAE,QAAQ,GAAG,OAAO;YAC7B,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5D,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;SACrF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;YACxC,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAE,CAAC;QACzD,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,mBAAmB,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;YAC7C,cAAc,EAAE,CAAC;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,OAAO;YACb,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAwB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QAC9E,WAAW,EAAE,CAAC,CAAC,UAAU;QACzB,cAAc,EAAE,CAAC,CAAC,gBAAgB;KACnC,CAAC,CAAC,CAAC;IAEJ,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,sBAAsB,CAAC,EAC3E,CAAC,CACF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,aAAa;QAC5D,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI;QAC1C,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE;QAClG,MAAM;QACN,KAAK;QACL,OAAO;QACP,YAAY;QACZ,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ClipExportInput } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Generate FCPXML v1.11. Compatible with Final Cut Pro 11 and DaVinci Resolve 19.
|
|
4
|
+
*
|
|
5
|
+
* Multi-clip, multi-asset composition:
|
|
6
|
+
* - One <format> per unique (w, h, fpsNum, fpsDen) across assets + sequence.
|
|
7
|
+
* - One <asset> per assets[] entry.
|
|
8
|
+
* - One <asset-clip> per spine[] item (offset/duration in sequence rate; start in source rate).
|
|
9
|
+
* - Markers with spineItemId render inside the matching <asset-clip>, start
|
|
10
|
+
* relativized to the clip's timelineStartFrames.
|
|
11
|
+
* - Markers without spineItemId render at spine root, start in sequence-absolute rate.
|
|
12
|
+
* - Text overlays overlapping a spine item render as markers inside that clip
|
|
13
|
+
* (value = overlay.text). Overlays outside all clips are dropped.
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateFcpxml(input: ClipExportInput): string;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { create } from "xmlbuilder2";
|
|
2
|
+
/**
|
|
3
|
+
* Generate FCPXML v1.11. Compatible with Final Cut Pro 11 and DaVinci Resolve 19.
|
|
4
|
+
*
|
|
5
|
+
* Multi-clip, multi-asset composition:
|
|
6
|
+
* - One <format> per unique (w, h, fpsNum, fpsDen) across assets + sequence.
|
|
7
|
+
* - One <asset> per assets[] entry.
|
|
8
|
+
* - One <asset-clip> per spine[] item (offset/duration in sequence rate; start in source rate).
|
|
9
|
+
* - Markers with spineItemId render inside the matching <asset-clip>, start
|
|
10
|
+
* relativized to the clip's timelineStartFrames.
|
|
11
|
+
* - Markers without spineItemId render at spine root, start in sequence-absolute rate.
|
|
12
|
+
* - Text overlays overlapping a spine item render as markers inside that clip
|
|
13
|
+
* (value = overlay.text). Overlays outside all clips are dropped.
|
|
14
|
+
*/
|
|
15
|
+
export function generateFcpxml(input) {
|
|
16
|
+
const { title, sequence, assets, spine, markers, textOverlays } = input;
|
|
17
|
+
const doc = create({ version: "1.0", encoding: "UTF-8" })
|
|
18
|
+
.dtd({ name: "fcpxml" })
|
|
19
|
+
.ele("fcpxml", { version: "1.11" });
|
|
20
|
+
// ── Resources ────────────────────────────────────────────
|
|
21
|
+
const resources = doc.ele("resources");
|
|
22
|
+
// Collect unique formats across sequence + all assets.
|
|
23
|
+
const formatKey = (w, h, fpsNum, fpsDen) => `${w}x${h}-${fpsNum}-${fpsDen}`;
|
|
24
|
+
const formatSpecs = new Map();
|
|
25
|
+
const registerFormat = (w, h, fpsNum, fpsDen) => {
|
|
26
|
+
const key = formatKey(w, h, fpsNum, fpsDen);
|
|
27
|
+
const existing = formatSpecs.get(key);
|
|
28
|
+
if (existing)
|
|
29
|
+
return existing.id;
|
|
30
|
+
const id = formatId(w, h, fpsNum, fpsDen);
|
|
31
|
+
formatSpecs.set(key, { id, width: w, height: h, fpsNum, fpsDen });
|
|
32
|
+
return id;
|
|
33
|
+
};
|
|
34
|
+
const seqFormatId = registerFormat(sequence.width, sequence.height, sequence.fpsNum, sequence.fpsDen);
|
|
35
|
+
const assetFormatIds = new Map();
|
|
36
|
+
for (const asset of assets) {
|
|
37
|
+
const id = registerFormat(asset.width, asset.height, asset.fpsNum, asset.fpsDen);
|
|
38
|
+
assetFormatIds.set(asset.id, id);
|
|
39
|
+
}
|
|
40
|
+
for (const spec of formatSpecs.values()) {
|
|
41
|
+
resources.ele("format", {
|
|
42
|
+
id: spec.id,
|
|
43
|
+
name: formatName(spec.width, spec.height, spec.fpsNum, spec.fpsDen),
|
|
44
|
+
frameDuration: frameDuration(spec.fpsNum, spec.fpsDen),
|
|
45
|
+
width: String(spec.width),
|
|
46
|
+
height: String(spec.height),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// Assets
|
|
50
|
+
for (const asset of assets) {
|
|
51
|
+
const assetFormatId = assetFormatIds.get(asset.id);
|
|
52
|
+
const durMs = Math.round(asset.durationSec * 1000);
|
|
53
|
+
const a = resources.ele("asset", {
|
|
54
|
+
id: asset.id,
|
|
55
|
+
name: asset.displayName,
|
|
56
|
+
start: "0s",
|
|
57
|
+
duration: `${durMs}/1000s`,
|
|
58
|
+
hasVideo: "1",
|
|
59
|
+
hasAudio: "1",
|
|
60
|
+
format: assetFormatId,
|
|
61
|
+
videoSources: "1",
|
|
62
|
+
audioSources: "1",
|
|
63
|
+
audioChannels: "2",
|
|
64
|
+
});
|
|
65
|
+
a.ele("media-rep", {
|
|
66
|
+
kind: "original-media",
|
|
67
|
+
src: `./${asset.relPath}`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// ── Library / Event / Project / Sequence ───────────────
|
|
71
|
+
const seqDur = rational(sequence.durationFrames, sequence.fpsNum, sequence.fpsDen);
|
|
72
|
+
const spineEl = doc
|
|
73
|
+
.ele("library")
|
|
74
|
+
.ele("event", { name: title })
|
|
75
|
+
.ele("project", { name: title })
|
|
76
|
+
.ele("sequence", {
|
|
77
|
+
format: seqFormatId,
|
|
78
|
+
duration: seqDur,
|
|
79
|
+
tcStart: "0s",
|
|
80
|
+
tcFormat: "NDF",
|
|
81
|
+
audioLayout: "stereo",
|
|
82
|
+
audioRate: "48k",
|
|
83
|
+
})
|
|
84
|
+
.ele("spine");
|
|
85
|
+
const assetById = new Map(assets.map((a) => [a.id, a]));
|
|
86
|
+
// Spine items → asset-clips
|
|
87
|
+
for (const item of spine) {
|
|
88
|
+
const asset = assetById.get(item.assetId);
|
|
89
|
+
if (!asset)
|
|
90
|
+
continue;
|
|
91
|
+
const assetFormatId = assetFormatIds.get(asset.id);
|
|
92
|
+
const clipEl = spineEl.ele("asset-clip", {
|
|
93
|
+
ref: asset.id,
|
|
94
|
+
offset: rational(item.timelineStartFrames, sequence.fpsNum, sequence.fpsDen),
|
|
95
|
+
name: asset.displayName,
|
|
96
|
+
duration: rational(item.timelineDurationFrames, sequence.fpsNum, sequence.fpsDen),
|
|
97
|
+
start: rational(item.inFrames, asset.fpsNum, asset.fpsDen),
|
|
98
|
+
format: assetFormatId,
|
|
99
|
+
tcFormat: "NDF",
|
|
100
|
+
});
|
|
101
|
+
// Markers attached to this spine item
|
|
102
|
+
const clipMarkers = markers.filter((m) => m.spineItemId === item.id);
|
|
103
|
+
for (const m of clipMarkers) {
|
|
104
|
+
const relFrames = m.startFrames - item.timelineStartFrames;
|
|
105
|
+
emitMarker(clipEl, m, relFrames, sequence.fpsNum, sequence.fpsDen);
|
|
106
|
+
}
|
|
107
|
+
// Text overlays overlapping this spine item (by startFrames)
|
|
108
|
+
const itemEnd = item.timelineStartFrames + item.timelineDurationFrames;
|
|
109
|
+
const overlappingOverlays = textOverlays.filter((o) => o.startFrames >= item.timelineStartFrames && o.startFrames < itemEnd);
|
|
110
|
+
for (const o of overlappingOverlays) {
|
|
111
|
+
const relFrames = o.startFrames - item.timelineStartFrames;
|
|
112
|
+
emitOverlayMarker(clipEl, o, relFrames, sequence.fpsNum, sequence.fpsDen);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Root-level markers (no spineItemId)
|
|
116
|
+
const rootMarkers = markers.filter((m) => !m.spineItemId);
|
|
117
|
+
for (const m of rootMarkers) {
|
|
118
|
+
emitMarker(spineEl, m, m.startFrames, sequence.fpsNum, sequence.fpsDen);
|
|
119
|
+
}
|
|
120
|
+
return doc.end({ prettyPrint: true, allowEmptyTags: true });
|
|
121
|
+
}
|
|
122
|
+
// ── helpers ────────────────────────────────────────────────
|
|
123
|
+
function rational(frames, fpsNum, fpsDen) {
|
|
124
|
+
if (frames === 0)
|
|
125
|
+
return "0s";
|
|
126
|
+
return `${frames * fpsDen}/${fpsNum}s`;
|
|
127
|
+
}
|
|
128
|
+
function frameDuration(fpsNum, fpsDen) {
|
|
129
|
+
return `${fpsDen}/${fpsNum}s`;
|
|
130
|
+
}
|
|
131
|
+
function formatId(width, height, fpsNum, fpsDen) {
|
|
132
|
+
return `r-${width}x${height}-${fpsNum}-${fpsDen}`;
|
|
133
|
+
}
|
|
134
|
+
function formatName(_w, h, fpsNum, fpsDen) {
|
|
135
|
+
const rate = fpsDen === 1001
|
|
136
|
+
? Math.round((fpsNum / 1000) * 100) / 100
|
|
137
|
+
: fpsNum / fpsDen;
|
|
138
|
+
return `FFVideoFormat${h}p${String(rate).replace(".", "")}`;
|
|
139
|
+
}
|
|
140
|
+
function emitMarker(parent, m, startFrames, fpsNum, fpsDen) {
|
|
141
|
+
const dur = Math.max(1, m.durationFrames);
|
|
142
|
+
const attrs = {
|
|
143
|
+
start: rational(startFrames, fpsNum, fpsDen),
|
|
144
|
+
duration: rational(dur, fpsNum, fpsDen),
|
|
145
|
+
value: m.name,
|
|
146
|
+
};
|
|
147
|
+
if (m.note)
|
|
148
|
+
attrs.note = m.note;
|
|
149
|
+
parent.ele("marker", attrs);
|
|
150
|
+
}
|
|
151
|
+
function emitOverlayMarker(parent, o, startFrames, fpsNum, fpsDen) {
|
|
152
|
+
const dur = Math.max(1, o.durationFrames);
|
|
153
|
+
parent.ele("marker", {
|
|
154
|
+
start: rational(startFrames, fpsNum, fpsDen),
|
|
155
|
+
duration: rational(dur, fpsNum, fpsDen),
|
|
156
|
+
value: o.text,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=fcpxml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fcpxml.js","sourceRoot":"","sources":["../src/fcpxml.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root subpath — zero-dep, edge-runtime-safe. Types + pure-TS logic only.
|
|
3
|
+
*
|
|
4
|
+
* XML generators (which depend on xmlbuilder2) live at `@cueframe/nle-export/xml`.
|
|
5
|
+
* Node-only packaging (archiver) lives at `@cueframe/nle-export/server`.
|
|
6
|
+
*/
|
|
7
|
+
export { generateSrt } from "./srt.js";
|
|
8
|
+
export { compositionToClipExportInput } from "./composition-to-input.js";
|
|
9
|
+
export { compactTimeline } from "./compact-timeline.js";
|
|
10
|
+
export { slugify } from "./xml-utils.js";
|
|
11
|
+
export * from "./types.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root subpath — zero-dep, edge-runtime-safe. Types + pure-TS logic only.
|
|
3
|
+
*
|
|
4
|
+
* XML generators (which depend on xmlbuilder2) live at `@cueframe/nle-export/xml`.
|
|
5
|
+
* Node-only packaging (archiver) lives at `@cueframe/nle-export/server`.
|
|
6
|
+
*/
|
|
7
|
+
export { generateSrt } from "./srt";
|
|
8
|
+
export { compositionToClipExportInput } from "./composition-to-input";
|
|
9
|
+
export { compactTimeline } from "./compact-timeline";
|
|
10
|
+
export { slugify } from "./xml-utils";
|
|
11
|
+
export * from "./types";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { create } from "xmlbuilder2";
|
|
2
|
+
/**
|
|
3
|
+
* xmlbuilder2 escapes &, <, > automatically in text nodes, but leaves
|
|
4
|
+
* " and ' unescaped (valid per XML spec since they aren't ambiguous in
|
|
5
|
+
* text content). Premiere Pro's xmeml consumers are historically
|
|
6
|
+
* conservative — pre-escape " and ' only so xmlbuilder2 can still
|
|
7
|
+
* handle the others without double-encoding.
|
|
8
|
+
*/
|
|
9
|
+
function escapeQuotes(s) {
|
|
10
|
+
return s.replace(/"/g, """).replace(/'/g, "'");
|
|
11
|
+
}
|
|
12
|
+
function displayRate(fpsNum, fpsDen) {
|
|
13
|
+
if (fpsDen === 1001) {
|
|
14
|
+
return { timebase: Math.round(fpsNum / 1000), ntsc: "TRUE" };
|
|
15
|
+
}
|
|
16
|
+
return { timebase: Math.round(fpsNum / fpsDen), ntsc: "FALSE" };
|
|
17
|
+
}
|
|
18
|
+
function findOwningSpineItem(spine, startFrames, durationFrames) {
|
|
19
|
+
const overlayStart = startFrames;
|
|
20
|
+
const overlayEnd = startFrames + Math.max(1, durationFrames);
|
|
21
|
+
for (const item of spine) {
|
|
22
|
+
const itemStart = item.timelineStartFrames;
|
|
23
|
+
const itemEnd = item.timelineStartFrames + item.timelineDurationFrames;
|
|
24
|
+
if (overlayStart < itemEnd && overlayEnd > itemStart) {
|
|
25
|
+
return item;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
export function generatePremiereXml(input) {
|
|
31
|
+
const { title, sequence, assets, spine, markers, textOverlays } = input;
|
|
32
|
+
const assetById = new Map();
|
|
33
|
+
for (const a of assets)
|
|
34
|
+
assetById.set(a.id, a);
|
|
35
|
+
const seqRate = displayRate(sequence.fpsNum, sequence.fpsDen);
|
|
36
|
+
const doc = create({ version: "1.0", encoding: "UTF-8" })
|
|
37
|
+
.dtd({ name: "xmeml" })
|
|
38
|
+
.ele("xmeml", { version: "4" });
|
|
39
|
+
const seqEl = doc.ele("sequence", { id: "sequence-1" });
|
|
40
|
+
seqEl.ele("name").txt(escapeQuotes(title)).up();
|
|
41
|
+
seqEl.ele("duration").txt(String(sequence.durationFrames)).up();
|
|
42
|
+
const seqRateEl = seqEl.ele("rate");
|
|
43
|
+
seqRateEl.ele("timebase").txt(String(seqRate.timebase)).up();
|
|
44
|
+
seqRateEl.ele("ntsc").txt(seqRate.ntsc).up();
|
|
45
|
+
seqRateEl.up();
|
|
46
|
+
const mediaEl = seqEl.ele("media");
|
|
47
|
+
// ── Video ────────────────────────────────────────────────
|
|
48
|
+
const videoEl = mediaEl.ele("video");
|
|
49
|
+
const videoFormatEl = videoEl.ele("format");
|
|
50
|
+
const videoSampEl = videoFormatEl.ele("samplecharacteristics");
|
|
51
|
+
videoSampEl.ele("width").txt(String(sequence.width)).up();
|
|
52
|
+
videoSampEl.ele("height").txt(String(sequence.height)).up();
|
|
53
|
+
videoSampEl.up();
|
|
54
|
+
videoFormatEl.up();
|
|
55
|
+
const trackEl = videoEl.ele("track");
|
|
56
|
+
const seenAssetIds = new Set();
|
|
57
|
+
spine.forEach((item, idx) => {
|
|
58
|
+
const asset = assetById.get(item.assetId);
|
|
59
|
+
if (!asset)
|
|
60
|
+
return;
|
|
61
|
+
const assetRate = displayRate(asset.fpsNum, asset.fpsDen);
|
|
62
|
+
const clipDurationInAssetRate = asset.originOutFrames - asset.originInFrames;
|
|
63
|
+
const clipitemEl = trackEl.ele("clipitem", { id: `clipitem-${idx + 1}` });
|
|
64
|
+
clipitemEl.ele("name").txt(escapeQuotes(asset.displayName)).up();
|
|
65
|
+
clipitemEl.ele("enabled").txt("TRUE").up();
|
|
66
|
+
clipitemEl.ele("duration").txt(String(clipDurationInAssetRate)).up();
|
|
67
|
+
const rateEl = clipitemEl.ele("rate");
|
|
68
|
+
rateEl.ele("timebase").txt(String(assetRate.timebase)).up();
|
|
69
|
+
rateEl.ele("ntsc").txt(assetRate.ntsc).up();
|
|
70
|
+
rateEl.up();
|
|
71
|
+
clipitemEl.ele("in").txt(String(item.inFrames)).up();
|
|
72
|
+
clipitemEl.ele("out").txt(String(item.outFrames)).up();
|
|
73
|
+
clipitemEl.ele("start").txt(String(item.timelineStartFrames)).up();
|
|
74
|
+
clipitemEl
|
|
75
|
+
.ele("end")
|
|
76
|
+
.txt(String(item.timelineStartFrames + item.timelineDurationFrames))
|
|
77
|
+
.up();
|
|
78
|
+
// <file>: full body on first occurrence, empty self-close on subsequent.
|
|
79
|
+
if (!seenAssetIds.has(asset.id)) {
|
|
80
|
+
seenAssetIds.add(asset.id);
|
|
81
|
+
const fileEl = clipitemEl.ele("file", { id: asset.id });
|
|
82
|
+
fileEl.ele("name").txt(escapeQuotes(asset.displayName)).up();
|
|
83
|
+
fileEl.ele("pathurl").txt(escapeQuotes(`file://./${asset.relPath}`)).up();
|
|
84
|
+
const fileRateEl = fileEl.ele("rate");
|
|
85
|
+
fileRateEl.ele("timebase").txt(String(assetRate.timebase)).up();
|
|
86
|
+
fileRateEl.ele("ntsc").txt(assetRate.ntsc).up();
|
|
87
|
+
fileRateEl.up();
|
|
88
|
+
// Duration in source-rate frames — use the rational rate, not the
|
|
89
|
+
// integer timebase. For NTSC 29.97 the integer timebase (30) would
|
|
90
|
+
// otherwise overshoot by a frame per every ~1000 frames, showing up
|
|
91
|
+
// in Premiere's bin metadata as a 1-frame-off clip length.
|
|
92
|
+
const assetDurationFrames = Math.round(asset.durationSec * (asset.fpsNum / asset.fpsDen));
|
|
93
|
+
fileEl.ele("duration").txt(String(assetDurationFrames)).up();
|
|
94
|
+
const fileMediaEl = fileEl.ele("media");
|
|
95
|
+
const fileVideoEl = fileMediaEl.ele("video");
|
|
96
|
+
const fileVideoSampEl = fileVideoEl.ele("samplecharacteristics");
|
|
97
|
+
fileVideoSampEl.ele("width").txt(String(asset.width)).up();
|
|
98
|
+
fileVideoSampEl.ele("height").txt(String(asset.height)).up();
|
|
99
|
+
fileVideoSampEl.up();
|
|
100
|
+
fileVideoEl.up();
|
|
101
|
+
const fileAudioEl = fileMediaEl.ele("audio");
|
|
102
|
+
const fileAudioSampEl = fileAudioEl.ele("samplecharacteristics");
|
|
103
|
+
fileAudioSampEl.ele("samplerate").txt("48000").up();
|
|
104
|
+
fileAudioSampEl.ele("depth").txt("16").up();
|
|
105
|
+
fileAudioSampEl.up();
|
|
106
|
+
fileAudioEl.ele("channelcount").txt("2").up();
|
|
107
|
+
fileAudioEl.up();
|
|
108
|
+
fileMediaEl.up();
|
|
109
|
+
fileEl.up();
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
clipitemEl.ele("file", { id: asset.id }).up();
|
|
113
|
+
}
|
|
114
|
+
// Markers belonging to this spine item.
|
|
115
|
+
const emitClipMarker = (name, note, startAbsFrames, durationFrames) => {
|
|
116
|
+
const markerEl = clipitemEl.ele("marker");
|
|
117
|
+
markerEl.ele("name").txt(escapeQuotes(name)).up();
|
|
118
|
+
if (note && note.length > 0) {
|
|
119
|
+
markerEl.ele("comment").txt(escapeQuotes(note)).up();
|
|
120
|
+
}
|
|
121
|
+
const relStart = startAbsFrames - item.timelineStartFrames;
|
|
122
|
+
const dur = Math.max(1, durationFrames);
|
|
123
|
+
markerEl.ele("in").txt(String(relStart)).up();
|
|
124
|
+
markerEl.ele("out").txt(String(relStart + dur)).up();
|
|
125
|
+
markerEl.up();
|
|
126
|
+
};
|
|
127
|
+
for (const m of markers) {
|
|
128
|
+
if (m.spineItemId === item.id) {
|
|
129
|
+
emitClipMarker(m.name, m.note, m.startFrames, m.durationFrames);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Overlays overlapping this item.
|
|
133
|
+
for (const overlay of textOverlays) {
|
|
134
|
+
const owner = findOwningSpineItem(spine, overlay.startFrames, overlay.durationFrames);
|
|
135
|
+
if (owner && owner.id === item.id) {
|
|
136
|
+
emitClipMarker(overlay.text, undefined, overlay.startFrames, overlay.durationFrames);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
clipitemEl.up();
|
|
140
|
+
});
|
|
141
|
+
trackEl.up();
|
|
142
|
+
videoEl.up();
|
|
143
|
+
mediaEl.up();
|
|
144
|
+
// Root-level markers (no spineItemId) — emitted AFTER </media> (after all tracks).
|
|
145
|
+
for (const m of markers) {
|
|
146
|
+
if (m.spineItemId)
|
|
147
|
+
continue;
|
|
148
|
+
const markerEl = seqEl.ele("marker");
|
|
149
|
+
markerEl.ele("name").txt(escapeQuotes(m.name)).up();
|
|
150
|
+
if (m.note && m.note.length > 0) {
|
|
151
|
+
markerEl.ele("comment").txt(escapeQuotes(m.note)).up();
|
|
152
|
+
}
|
|
153
|
+
const dur = Math.max(1, m.durationFrames);
|
|
154
|
+
markerEl.ele("in").txt(String(m.startFrames)).up();
|
|
155
|
+
markerEl.ele("out").txt(String(m.startFrames + dur)).up();
|
|
156
|
+
markerEl.up();
|
|
157
|
+
}
|
|
158
|
+
seqEl.up();
|
|
159
|
+
return doc.end({ prettyPrint: true });
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=premiere.js.map
|